Как добавить элемент по индексу выборки
Всем привет,
Мне нужно после заголовка h1 в блоке .mess_win добавить html-код <img src="img/random.png" alt=""> <img src="img/random.png" alt=""> <img src="img/random.png" alt=""> При этом выборка <img src="img/random.png" alt=""> происходит из блока .roulette-1 В скрипте пишу так:
function popUp(){
if(param2.stopImageNumber == param1.stopImageNumber &&
param2.stopImageNumber == param3.stopImageNumber){
var images = $('.roulette-1 > img');
$(".mess_win > h1").after(images[param2.stopImageNumber]);
$('.mess_win').fadeIn(300);
}
}
HTML такой: <div class="roulette_container" > <div class="ball"><img src="img/ball.png"/></div> <div class="stick"><img src="img/stick.png"/></div> <div class="roulette-1"> <img src="img/star.png"/> <img src="img/flower.png"/> <img src="img/coin.png"/> <img src="img/mshroom.png"/> <img src="img/chomp.png"/> <img src="img/random.png"/> </div> <div class="roulette-2"> <img src="img/star.png"/> <img src="img/flower.png"/> <img src="img/coin.png"/> <img src="img/mshroom.png"/> <img src="img/chomp.png"/> <img src="img/random.png"/> </div> <div class="roulette-3"> <img src="img/star.png"/> <img src="img/flower.png"/> <img src="img/coin.png"/> <img src="img/mshroom.png"/> <img src="img/chomp.png"/> <img src="img/random.png"/> </div> <div class="btn_container"> <p> <button class="btn btn-large btn-primary start"> START </button> <button class="btn btn-large btn-danger stop"> STOP </button> </p> </div> </div> <div class="mess_win"> <h1>Поздравляем!</h1> <p><strong>Вы выиграли бесплатную доставку от нашей компании!</strong></p> <p>Для того, чтобы узнать, как Вы можете воспользоваться данным призом, свяжитесь с вашим персональным менеджером.</p> </div> |
Цитата:
|
Пробовал ещё так:
var images = $('.roulette-1 > img[src]:eq('+param2.stopImageNumber+')');
$(".mess_win > h1").after('<img src="'+images+'" alt="">');
$('.mess_win').fadeIn(300);
|
Цитата:
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
var i=2;
var o=$('.roulette-1 > img').eq(i);
alert(o.attr('src'));
});
</script>
</script>
</head>
<body>
<div class="roulette_container" >
<div class="ball"><img src="img/ball.png"/></div>
<div class="stick"><img src="img/stick.png"/></div>
<div class="roulette-1">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="roulette-2">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="roulette-3">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="btn_container">
<p>
<button class="btn btn-large btn-primary start"> START </button>
<button class="btn btn-large btn-danger stop"> STOP </button>
</p>
</div>
</div>
<div class="mess_win">
<h1>Поздравляем!</h1>
<p><strong>Вы выиграли бесплатную доставку от нашей компании!</strong></p>
<p>Для того, чтобы узнать, как Вы можете воспользоваться данным призом, свяжитесь с вашим персональным менеджером.</p>
</div>
</body>
</html>
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
var i=2;
var o=$('.roulette-1 > img').eq(i);
var ot=$('.mess_win > h1');
for (var i=0; i<3; i++) {
$(o.clone()).insertAfter(ot);
};
});
</script>
</script>
</head>
<body>
<div class="roulette_container" >
<div class="ball"><img src="img/ball.png"/></div>
<div class="stick"><img src="img/stick.png"/></div>
<div class="roulette-1">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="roulette-2">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="roulette-3">
<img src="img/star.png"/>
<img src="img/flower.png"/>
<img src="img/coin.png"/>
<img src="img/mshroom.png"/>
<img src="img/chomp.png"/>
<img src="img/random.png"/>
</div>
<div class="btn_container">
<p>
<button class="btn btn-large btn-primary start"> START </button>
<button class="btn btn-large btn-danger stop"> STOP </button>
</p>
</div>
</div>
<div class="mess_win">
<h1>Поздравляем!</h1>
<p><strong>Вы выиграли бесплатную доставку от нашей компании!</strong></p>
<p>Для того, чтобы узнать, как Вы можете воспользоваться данным призом, свяжитесь с вашим персональным менеджером.</p>
</div>
</body>
</html>
|
Странно, у меня почему-то не работает
function popUp(){
if(param2.stopImageNumber == param1.stopImageNumber &&
param2.stopImageNumber == param3.stopImageNumber){
var j = param2.stopImageNumber;
var image = $('.roulette-1 > img').eq(j);
var elem = $('.mess_win > h1');
for (var i = 0; i < 3; i++) {
$(image.clone()).insertAfter(elem);
};
$('.mess_win').fadeIn(300);
}
}
|
Вот весь скрипт
$(function(){
"use strict"
// функция генерации случайного значения
function randomInteger(min, max) {
var rand = min - 0.5 + Math.random() * (max - min + 1);
rand = Math.round(rand);
return rand;
}
// функция вызова сооообщения о результате
function popUp(){
if(param2.stopImageNumber == param1.stopImageNumber &&
param2.stopImageNumber == param3.stopImageNumber){
var j = param2.stopImageNumber;
var image = $('.roulette-1 > img').eq(j);
var elem = $('.mess_win > h1');
for (var i = 0; i < 3; i++) {
$(image.clone()).insertAfter(elem);
};
$('.mess_win').fadeIn(300);
}
}
function check(){
// for(var i in param1){
// console.log(param1[i]);
// }
// for(var j in param2){
// console.log(param2[j]);
// }
// for(var k in param3){
// console.log(param3[k]);
// }
console.log('Скорость вращения: '+param1.speed, param2.speed, param3.speed+'\n');
console.log('Длительность: '+param1.duration, param2.duration, param3.duration+'\n');
console.log('Стоп картинка: '+param1.stopImageNumber, param2.stopImageNumber, param3.stopImageNumber+'\n');
}
// задаём интервал для генерации случайного значения
var numMin = 0;
var numMax = 5;
var win = true // переключатель возможности выигрыша
var a;
// функция генерации нового случйного значения stopImageNumber
function updateNumber(){
if(win){// совпадения допускаются
param1.stopImageNumber = 1;
param2.stopImageNumber = 1;
param3.stopImageNumber = 1;
rouletter1.roulette('option',param1);
rouletter2.roulette('option',param2);
rouletter3.roulette('option',param3);
}
else{// совпадения НЕ допускаются
param1.stopImageNumber = randomInteger(numMin, numMax);
param2.stopImageNumber = randomInteger(numMin, numMax);
param3.stopImageNumber = randomInteger(numMin, numMax);
// в случае совпадения
if(param2.stopImageNumber == param1.stopImageNumber &&
param2.stopImageNumber == param3.stopImageNumber){
param2.stopImageNumber = param1.stopImageNumber + 1;
param3.stopImageNumber = param1.stopImageNumber - 1;
}
rouletter1.roulette('option',param1);
rouletter2.roulette('option',param2);
rouletter3.roulette('option',param3);
}
}
// задаём параметры 1-го слота
var param1 = {
speed : 10,
duration : 2,
stopImageNumber : a,
startCallback : function() {
$('.start').attr('disabled', 'true');
$('.stop').removeAttr('disabled');
},
slowDownCallback : function() {
$('.stop').attr('disabled', 'true');
},
stopCallback : function($stopElm) {
$('.start').removeAttr('disabled');
$('.stop').attr('disabled', 'true');
}
}
// задаём параметры 2-го слота
var param2 = {
speed : 5,
duration : 3,
stopImageNumber : a
}
// задаём параметры 3-го слота
var param3 = {
speed : 8,
duration : 4,
stopImageNumber : a
}
// применяем метод roulette() к слотам
var rouletter1 = $('div.roulette-1');
rouletter1.roulette(param1);
var rouletter2 = $('div.roulette-2');
rouletter2.roulette(param2);
var rouletter3 = $('div.roulette-3');
rouletter3.roulette(param3);
// обработчики кнопок
$('.stop').click(function(){
updateNumber(); // запуск апдейта номера
rouletter1.roulette('stop');
rouletter2.roulette('stop');
rouletter3.roulette('stop');
});
$('.stop').attr('disabled', 'true');
$('.start, .ball').click(function(){
var time = Math.max(param1.duration, param2.duration, param3.duration) * 1000 + 1500;
setTimeout(popUp,time); // запуск окна с выигрышем
updateNumber(); // запуск апдейта номера
check();
rouletter1.roulette('start');
rouletter2.roulette('start');
rouletter3.roulette('start');
console.log(time);
$('.ball').addClass('animate-1');
$('.stick').addClass('animate-2');
setTimeout(function(){ // возврат в изначальное
$('.ball').removeClass('animate-1');
$('.stick').removeClass('animate-2');
},2000)
});
});
|
Цитата:
|
поставил $('.roulette-1 img') вместо $('.roulette-1 > img') и всё заработало
|
| Часовой пояс GMT +3, время: 03:11. |