Jquery对话框删除我的原始图像

时间:2015-03-29 20:44:26

标签: jquery html jquery-ui

所以我试图制作自己的jQuery插件。每当我点击图片时,jQuery对话框就会打开,并在对话框中放置另一个图像。如果我点击该图像然后它将返回原始图像等...唯一的问题是,当我第一次点击原始图像时,它会打开对话框。但是当对话框打开时,它会删除我网站上的原始图像。所以我只在我的网站上有对话框。这是我的HTML代码:

<body>
    <div class="imageHolder">
    <img src="http://www.c-and-a.com/iview/FRONT_ZOOM2X/148243_1.jpg"
         data-swap="http://www.c-and-a.com/iview/BACK_ZOOM2X/148243_1.jpg" id="images">
        </div>


<script>

    $(function() {

        $(document).ready( function() {
            $('img').jqueryPlugin();
        });

    });

</script>
</body>

这是我的javascript代码:

(function($) {


    $.fn.jqueryPlugin = function() {


        $("img").click(function() {
            var _this = $(this);
            var current = _this.attr("src");
            var swap = _this.attr("data-swap");
            _this.attr('src', swap).attr("data-swap",current);

            $( "img" ).dialog({
                dialogClass: "no-close",
                width: 'auto',
                height: 'auto',
                resize: "auto"
            });
        });



    };






})(jQuery);

1 个答案:

答案 0 :(得分:0)

好像你在那里有两份doc准备好的陈述......这与你的问题无关。

听起来像我遇到的问题。通过克隆对象而不是直接使用它来解决它。看到: https://api.jquery.com/clone/

编辑:哈哈,对不起。以上可能是相关的...但你的问题更可能是由你的inprecise选择器造成的。使用ID或类......不是&#39; img&#39;作为选择者。

另外,请考虑在函数之外声明变量,因为现在您每次使用该函数时都会重新声明它们。您还可以尝试将数据移动到对象。