Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться ... Я новенький в JS ... (https://javascript.ru/forum/misc/24324-pomogite-razobratsya-ya-novenkijj-v-js.html)

bogong 26.12.2011 13:17

Т.е.???

bogong 26.12.2011 13:18

GuardCat, B@rmaley.e><e - огромное спасибо ... :))))))))))) Догнал!!! :))))

GuardCat 26.12.2011 13:21

bogong, вам B@rmaley.e><e уже прозрачно намекнул. Давайте я вам намекну прозрачнее и кодом:

Ваш вариант
function previousImage(){
    var obj=document.getElementById("img");
    counter--;
    if(counter<0){
        counter=imageListLength; // Ага. А картинку мы менять не будем в этот раз.
    }
    else{
        obj.src="../js/images/"+imageName[counter]+".png"; // Вот тут вы меняете картинку
    }
}


Другой вариант
function previousImage(){
    var obj=document.getElementById("img");
    counter--;
    if(counter<0){
        counter=imageListLength;
    }
    obj.src="../js/images/"+imageName[counter]+".png"; // Теперь картинка меняется по-любому
}

bogong 26.12.2011 13:54

B@rmaley.e><e , GuardCat - огромное спасибо ..., разобрался ... :)))
Воюю дальше с кодом :))) Усложняю скрипт ... :))) Простите за глупые вопросы ..., новичок я в этом деле ...

рони 26.12.2011 16:01

Немного скомпоновал или вариант три в одном ... :write: :)
<img src="" id="img"/>
 <br />
   	<a href="" onclick="Image(0); return false">Назад</a>
	<a href="" onclick="Image(1); return false">Вперед</a>
<script>
var Image = function () {
        var b = "mad.gif,sad.gif,dance3.gif,cray.gif,write.gif".split(","),
            a = 1,
            c = b.length,
            d = document.getElementById("img");
        return function (e) {
            e ? a++ : a--;
            a %= c;
            0 > a && (a += c);
            d.src = "http://javascript.ru/forum/images/smilies/" + b[a];
                }
    }();
window.onload=Image(0);
</script>

GuardCat 27.12.2011 09:52

рони, действительно здорово. Только один момент: если функция вызывается немедленно, её принято заключать в скобки. А так интрига — смотришь код, смотришь — ОП! Вызов =)

P.S. Но без скобок красивее (=.

nerv_ 27.12.2011 15:41

рони, прошу прощения, немного попаразитировал на Вашем коде)
<html>
    <head>
        <meta charset="utf-8">
        <style type="text/css">
            body { margin:15px; }
        </style>
        <script type="text/javascript">
			var imgChanger = (function() {
				var x = [["mad.gif", "sad.gif", "dance3.gif", "cray.gif", "write.gif"], [0]];
				return function(i) {
					switch(x[1][0] += i) {
						case -1: x[1][0] = x[0].length - 1;
							break;
						case x[0].length: x[1][0] = 0;
					}
					document.getElementById("img").src = "http://javascript.ru/forum/images/smilies/" + x[0][x[1][0]];
				}
			})();
			window.onload = function() { imgChanger(0); };
        </script>
    </head>
    <body>
		<img src="" id="img"/>
		<br/>
		<a href="" onclick="imgChanger(-1);">Назад</a>
		<a href="" onclick="imgChanger(+1);">Вперед</a>
    </body>
</html>


p.s.: чуть накосячи, позже исправлю)

рони 27.12.2011 16:02

nerv_,
и где return false?

рони 27.12.2011 16:45

Ещё вариант ... :write: :)
<img src="" id="img"/>
 <br />
   	<a href="" onclick="Image(0); return false">Назад</a>
	<a href="" onclick="Image(1); return false">Вперед</a>
<script>
var Image = (function () {
        var b = "mad.gif,sad.gif,dance3.gif,cray.gif,write.gif".split(","),
            d = document.getElementById("img");
            return function (e) {
            e ? b.push(b.shift()) : b.unshift(b.pop());
            d.src = "http://javascript.ru/forum/images/smilies/" + b[0];
                }
    })();
window.onload=Image(0);
</script>

nerv_ 27.12.2011 18:40

Цитата:

Сообщение от рони
и где return false?

Потерялся :D Спасибо за очередной пример! Вроде как и я сделал рабочий :)
<html>
    <head>
        <meta charset="utf-8">
        <style type="text/css">
            body { margin:15px; }
        </style>
        <script type="text/javascript">
			var imgChanger = (function() {
				var j = 0, x = [["mad.gif", "sad.gif", "dance3.gif", "cray.gif", "write.gif"], 
				["http://javascript.ru/forum/images/smilies/"]];
				return function(i) {
					switch(j += i) {
						case -1: j = x[0].length - 1;
							break;
						case x[0].length: j = 0;
					}
					document.getElementById("img").src = x[1][0] + x[0][j];
				}
			})();
			window.onload = function() { imgChanger(0); };
        </script>
    </head>
    <body>
		<img src="" id="img"/>
		<br/>
		<a href="" onclick="imgChanger(-1); return false">Назад</a>
		<a href="" onclick="imgChanger(+1); return false">Вперед</a>
    </body>
</html>


Часовой пояс GMT +3, время: 21:16.