我生成动态的php库,可以使用jquery UI拖动图像。
所有图片都有裁剪选项。
在图库中首先列出的图像是图库的“标题图像”,并且具有与非“标题图像”不同的折叠率。
我用属性'ondblclick="open_original=(21, 153)"'
回显所有图像。
我需要弄清楚如何才能将open_original
更改为open_original_main
仅用于图库的第一批图像,以便它们具有不同的裁剪率。
如果我使用.attr()
,那么我将丢失所有属性值,但我无法取回它们。有没有办法只更换他们的功能名称?
到目前为止我对这个问题的了解:
$(".galOf .gallery_nav:first-child .img_thumb img").ready(function(){
$(this.ondblclick).replace("open_original","open_original_main");
});
我知道.replace()
不是函数,只读信息....
答案 0 :(得分:1)
你可以这样试试,
var attrName = $('#image:first').attr("ondblclick");
var newAttrName = attrName.replace("open_original","open_original_main");
$('#image:first').attr("ondblclick", newAttrName );
答案 1 :(得分:0)
似乎更容易更改php中的click事件处理程序并回显正确的处理程序,而不是使用jquery更改它。只需使用计数器或类似的东西,如果计数器等于其初始状态,则使用“open_original_main”,否则使用“open_original”。
答案 2 :(得分:0)
$(".galOf .gallery_nav:first-child .img_thumb img").ready(function(){
var val = $(this).attr("ondblclick"); // copy attribute value
val = val.replace("open_original","open_original_main"); //replace
$(this).attr("ondblclick",val); // set attribute value
});
答案 3 :(得分:0)
在评论中形成您所说的内容,似乎您希望根据缩略图的位置执行不同的操作。似乎两个函数中的大多数代码都是相同的。您不需要将所有代码重复到新功能。您可以这样做:
function open_img() {
// is this the first image?
var isFirst = $(this) == $('.galOf .gallery_nav:first-child .img_thumb img');
if(isFirst) open_original(100, 100);
else open_original (21, 153);
}