嘿傢伙,我有以下代碼。它基本上是一個畫廊腳本,當我鼠標移到縮略圖,它會改變縮略圖的一個更大的版本:jquery獲取rel屬性並更改它
$.fn.CloudZoom = function (options) {
try {
document.execCommand("BackgroundImageCache", false, true);
} catch (e) {}
this.each(function() {
var relOpts, opts;
eval('var a = {' + $(this).attr('rel') + '}');
relOpts = a;
if ($(this).is('.image')) {
$(this).css({
'position': 'relative',
'display': 'block'
});
$('img', $(this)).css({
'display': 'block'
});
if ($(this).parent().attr('id') != 'imageBox') {
$(this).wrap('<div id="imageBox"></div>');
}
opts = $.extend({}, $.fn.CloudZoom.defaults, options);
opts = $.extend({}, opts, relOpts);
$(this).data('zoom', new CloudZoom($(this), opts));
} else if ($(this).is('.thumbs')) {
opts = $.extend({}, relOpts, options);
$(this).data('relOpts', opts);
$(this).bind('mouseenter click', $(this), function (event) {
var data = event.data.data('relOpts');
$('#' + 'mainImage').data('zoom').destroy();
$('#' + 'mainImage').attr('href', event.data.attr('href'));
// Change the small image to point to the new small image.
$('#' + 'mainImage' + ' img').attr('src', data.thumby);
$('#' + 'mainImage').CloudZoom();
return false;
});
}
});
return this;
};
的HTML內容如下:
<li>
<a href="gfx/boss_black.jpg" class="thumbs" rel="thumby:'gfx/boss_black.jpg'">
<img src="gfx/boss-black-small.jpg">
</a>
</li>
我想要做什麼是在沒有「thumby」的情況下編寫rel=""
標籤。
我想要的相對標籤是這樣的:
rel="gfx/boss_black.jpg"
當我做到這一點,JS不工作了。如何將JS更改爲簡單地獲取「rel」?
向我們展示了JS爲好,沒有它我們也沒辦法。 – Lazarus 2011-04-21 10:36:28
Argh。請不要使用rel屬性作爲「屬性我可以存儲任意數據」,它有一個明確的目的! – Quentin 2011-04-21 10:39:29
你可能想使用data- *屬性而不是rel,rel是關係,xfn等。 – kovshenin 2011-04-21 10:41:52