所以我试图制作自己的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);
答案 0 :(得分:0)
好像你在那里有两份doc准备好的陈述......这与你的问题无关。
听起来像我遇到的问题。通过克隆对象而不是直接使用它来解决它。看到: https://api.jquery.com/clone/
编辑:哈哈,对不起。以上可能是相关的...但你的问题更可能是由你的inprecise选择器造成的。使用ID或类......不是&#39; img&#39;作为选择者。另外,请考虑在函数之外声明变量,因为现在您每次使用该函数时都会重新声明它们。您还可以尝试将数据移动到对象。