jQuery на миниатюре нажмите заменить второй img src на миниатюру src - PullRequest
1 голос
/ 02 января 2012

JSFIDDLE ЗДЕСЬ После нажатия .miniimg/2/3 он должен заменить src класса img .presentimg, который я добавил с помощью jquery к div .imgcontainer, я прошел через jQuery (НИЖЕ HTML) и единственная причина, по которой я думаю, что это не сработает, из-за того, что я использовал функцию внутри функции, и я не знаю альтернативного метода

<div class="imgcontainer">
    <div class="minicontainer">
    <img src="http://lh3.googleusercontent.com/_Zuzii37VUO4/Ta0nUeMwXoI/AAAAAAAAFoc/7f0Um7OTgNg/s000/Antartic-by-Peter-Rejcek.jpg" title="icy mountains" class="miniimg"/>
    <img src="http://lh3.googleusercontent.com/_Zuzii37VUO4/Ta0nUFUhg6I/AAAAAAAAFoY/GToUxRYcteY/s000/Antartic-by-Kelly-Speelman.jpg" title="icy planes and hills" class="miniimg2"/>
    <img src="http://lh4.googleusercontent.com/_Zuzii37VUO4/Ta0nTs8AbPI/AAAAAAAAFoU/zCvNKv4kfe4/s000/BeachWaves-By-RePublicDomain.jpg" title="sun rise with clouds" class="miniimg3"/>
    </div>
</div>

jquery, вjquery, который я использую (index) для внешней функции .each, как я видел на форуме, но я не знаю, работает ли это на самом деле неудачно

$(".imgcontainer").each(function(){
    var imgsrc = $(".minicontainer img:first-child").attr("src");
    $(this).append('<img src="'+imgsrc+'" class="presentimg"/>');
});
$(".miniimg").each(function(index){
    var $this = $(this);
    $(this).click(function(){
        var miniimgrc = $this.attr("src");
        $(".presentimg").atrr('src', miniimgrc);
    });
});
$(".miniimg2").each(function(index){
    var $this = $(this);
    $(this).click(function(){
        var miniimgrc2 = $this.attr("src");
        $(".presentimg").atrr('src', miniimgrc2);
    });
});
$(".miniimg3").each(function(index){
    var $this = $(this);
    $(this).click(function(){
        var miniimgrc3 = $this.attr("src");
        $(".presentimg").atrr('src', miniimgrc3);
    });
});

1 Ответ

1 голос
/ 02 января 2012

На самом деле, я думаю, что ваша проблема в том, что у вас есть несколько орфографических ошибок attr:

$(".presentimg").atrr('src', miniimgrc3);

должно быть:

$(".presentimg").attr('src', miniimgrc3);

Обновленная скрипка: http://jsfiddle.net/nv9em/

Кроме того, вы можете сократить свой код до одного обработчика событий:

$(".imgcontainer").each(function() {
    var imgsrc = $(".minicontainer img:first-child").attr("src");
    $(this).append('<img src="' + imgsrc + '" class="presentimg"/>');
});

$(".miniimg, .miniimg2, .miniimg3").click(function() {
    var miniimgrc = $(this).attr("src");
    $(".presentimg").attr('src', miniimgrc);
});

Обновленная скрипта: http://jsfiddle.net/Fr5yW/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...