1

好的,这就是我想要做的。

我有一些效果想应用于几个不同的 div 容器。假设我有一个幻灯片效果和一个淡入淡出效果。与其在 JS 代码中指定 div 类 / id 是什么,我更愿意通过给 div 一个自定义标签或一个额外的 id / 类来应用效果。我总是想在实际的div上指定效果的参数。

例如。

<div id="cssDesign SlideEffect" [Speed, Duration parameters somewhere]></div>

或者

<div Customtag="SlideEffect" id="cssDesign" [Speed, Duration parameters somewhere]></div>

说得通?

4

4 回答 4

2

如果您想保持您的页面符合 XHTML 标准,您可以使用一些现有但未使用的属性,例如rel存储数据。它在语义上不正确,但是嘿,它验证了。

<div rel="slide,500"></div>

和 jQuery:

$('div[rel^=slide]').each(function() {
    var data = $(this).attr('rel').split(',');
    var speed = data[1];
});

等等。如果您不需要它来代替rel,您也可以使用它(在大多数情况下,您可以使用with代替)。ididclass

于 2009-12-09T19:10:27.380 回答
1

它不是有效的 XHTML,但您始终可以向 html 标记添加非标准属性。

<div id="cssDesign" SlideEffect="Speed,Duration"></div>

然后您可以根据属性编写选择器。

$("div[SlideEffect]").mouseover(function() {
    var speed = parseInt($(this).attr("SlideEffect").split(',')[0]);
    var duration = parseInt($(this).attr("SlideEffect").split(',')[1]);
});

(在此处阅读有关属性选择器的更多信息。)

于 2009-12-09T19:05:44.827 回答
1

通常不建议使用自定义标签或属性(HTML 文档不会通过验证,这可能会影响搜索引擎的索引)。在类似的情况下,我使用了适当的 html 标记之一,例如 class 或 id 并在那里放置可解析的信息:

<div id="mydiv_slide_500">...</div>

然后你必须提取属性值,并用 split('_') 解析它。它比使用自定义标签更复杂,但您可以获得有效的 HTML。

于 2009-12-09T19:10:29.407 回答
0

原谅我完整的 JS n00bish 在这里..

我不知道如何在这里插入:

$(document).ready(function() {

  $('#slidemarginleft button').click(function() {
    $(this).animate({
      marginLeft: parseInt($marginLefty.css('marginLeft'),10) == 0 ?
        $marginLefty.outerWidth() :
        0
    });
  });
});
于 2009-12-09T19:33:08.950 回答