Jump to content
  • 0

не работает смена картинок в jOuery


Юрик
 Share

Question

Хотелось бы иметь плавно сменяющиеся 2 картинки. Подскажите пожалуйста, почему у меня не работает такой код?

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<script type="text/javascript" src="jquery-1.2.6.js"></script>

<!--<script type="text/javascript" src="script.js"></script>>-->

<script type="text/javascript" >

function Multik(){

if (a=1) {

var ff = document.getElementById("ID1");

alert(ff.src);

ff.fadeOut(800);

<!--$("ID1").fadeOut(800);-->

<!--document.getElementById("ID1").src="Объявление2.jpg";-->

alert(a); }

if (a=2) {

document.getElementById("ID1").src="Объявление2.jpg";

$("ID1").fadeIn(800);alert(a); }

if (a=3) {$("img.ID1").fadeOut(800);alert(a);}

a=a+1;

if (a=5) {

a=1;}

}

function ddd() {

var a=1;

setInterval('Multik()', 2400);

}

</script>

<IMG id="ID1" alt="Приходите подготовленными Желаем удачи!!!" src ="Объявление1.jpg" width=400 height=250 >

<title>

Пример

</title>

</head>

<body onload="ddd();">

</body>

</html>

Edited by Юрик
Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Спасибо большое за помощь.

На просторах интернета я нашел информацию о том, что лучше использовать такую конструкцию

var ff = document.getElementById("ID1") ;

ff.src = "Picture";

чем

document.getElementById("ID1").src = "Picture";

и далее работать с этой переменной f. Почему по аналогии не работает такая конструкция?

ff.fadeOut(800);

Link to comment
Share on other sites

  • 0

Спасибо большое за помощь.

На просторах интернета я нашел информацию о том, что лучше использовать такую конструкцию

var ff = document.getElementById("ID1") ;

ff.src = "Picture";

чем

document.getElementById("ID1").src = "Picture";

и далее работать с этой переменной f. Почему по аналогии не работает такая конструкция?

ff.fadeOut(800);

А где ты картинке расширение прописываешь?

Link to comment
Share on other sites

  • 0

В принципе мысль бьет ключом в нужном направлении, но вот только как то попадает по пальцам :facepalmxd:

Если уж подгрузили jQuery то и пользуйтесь им по полной, там же в просторах интернета полно документации, примеров и всякого такого.

Так понимаю вам нужно что бы на картинке через определенный интервал менялась картинка?

Вот набросал на скорую руку, не проверял, но наверное будет работать

var imgs = ['img1.jpg', 'img2.jpg']; //массив путей к картинкам, можно больше чем две
vai i = 0; // это будет счетчик
window.setInterval(function(){
$('#ID1').fadeOut(); //селектором находим картинку и плавно прячем ее
$('#ID1').attr('src', imgs[i]); //в качестве сурса подставляем i элемент массива
$('#ID1').fadeIn(); //показываем новую картинку
i++; //увеличиваем счетчик на единицу
(i == imgs.length)? i = 0: null; //обнуляем счетчик если дошли до конца массива
}, 30000);// и пошло поехало каждые тридцать секунд

идея в общем то проста, ради эксперемента можете попробовать написать такой же функционал в core яваскипт без использования jQuery, ну и изолировать переменные i и imgs :)

Ну а вообще на будущее, если просите помочь, помогите понять то что вам нужно. Трудно читать код с кучами непонятных комментов, алертов и всего такого, удаляйте все ненужное, оставляйте чистую отфильтрованную проблему без лишнего мусора, тогда и помощь быстрее придет.

Edited by Синдром
Link to comment
Share on other sites

  • 0

Ну а вообще на будущее, если просите помочь, помогите понять то что вам нужно. Трудно читать код с кучами непонятных комментов, алертов и всего такого, удаляйте все ненужное, оставляйте чистую отфильтрованную проблему без лишнего мусора, тогда и помощь быстрее придет.

А это потому что человек тупо копирует чужой код, не прочитав перед этим ни одной, даже самой маленькой статейки.

Link to comment
Share on other sites

  • 0

А это потому что человек тупо копирует чужой код, не прочитав перед этим ни одной, даже самой маленькой статейки.

Хочется верить что может все таки зацепит, начнет читать, вникать.

Edited by Синдром
Link to comment
Share on other sites

  • 0

Уважаемый "Синдром" спасибо за помощь. Разобрался досконально в вашем алгоритме. Но т.к я новичок то у меня возникает вопрос по-поводу его работы.

Ведет он себя так:

1. Зажигается 1-я картинка

2. Через 3 сек (не успев погаснуть) меняется на 2-ю

3. Гаснет (2-я)

4. Зажигается (2-я)

5. меняется на 1-ю

6. гаснет 1-я

7. зажигается 1-я

и т.д

из чего я делаю вывод, что строка 2 выполняется не дождавшись окончания "гашения" в строке 1, т.к. от перемены этих строк местами работа алгоритма не меняется

......

1 $('#ID1').fadeOut(); //селектором находим картинку и плавно прячем ее

2 $('#ID1').attr('src', imgs); //в качестве сурса подставляем i элемент массива

3 $('#ID1').fadeIn(); //показываем новую картинку

......

Может быть такое?

Ведь очень хочется, чтобы погасла 1-я а зажглась 2-я.

Не знаю, нужно ли выкладывать весь код, если скажешь - выложу.

Еще раз большое спасибо за помощь в освоении Java.

Link to comment
Share on other sites

  • 0

Всегда пожалуйста, рад помочь :facepalmxd:

ну да код в сет интервале сразу выполняеться, попробуйте так

var imgs = ['img1.jpg', 'img2.jpg']; //массив путей к картинкам, можно больше чем две
vai i = 0; // это будет счетчик
window.setInterval(function(){
$('#ID1').fadeOut(function(){ //селектором находим картинку и плавно прячем ее
$('#ID1').attr('src', imgs[i]); //в качестве сурса подставляем i элемент массива
$('#ID1').fadeIn(); //показываем новую картинку
i++; //увеличиваем счетчик на единицу
(i == imgs.length)? i = 0: null; //обнуляем счетчик если дошли до конца массива
});
}, 30000);// и пошло поехало каждые тридцать секунд

вот тут можно почитать про файд аут, fadeOut()

Edited by Синдром
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy