【问题标题】:Jquery dialog removes my original imageJquery 对话框删除了我的原始图像
【发布时间】:2015-03-30 04:48:44
【问题描述】:

所以我正在尝试制作自己的 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);

【问题讨论】:

  • 创建一个小提琴怎么样?

标签: jquery html jquery-ui


【解决方案1】:

似乎您在那里有两个文档就绪声明......这应该与您的问题无关。

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

编辑:哈哈,对不起。以上可能是相关的......但您的问题更可能是由您的不精确选择器引起的。使用 ID 或类...而不是 'img' 作为选择器。

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

【讨论】:

  • 我已将它们更改为 ID。它仍然无法正常工作。 $("#images").click(function() { var _this = $(this); var current = _this.attr("src"); var swap = _this.attr("data-swap"); _this. attr('src', swap).attr("data-swap",current); $("#images").dialog({ dialogClass: "no-close", width: 'auto', height: 'auto' , 调整大小: "auto" }); });
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
相关资源
最近更新 更多