1

これが私がやろうとしていることです。

いくつかの異なる div コンテナーに適用したい効果がいくつかあります。スライド効果とfadeTo効果があるとしましょう。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使用することもできます(ほとんどの場合、の使用をで置き換えることができます)。ididclass

于 2009-12-09T19:10:27.380 に答える
1

通常、カスタムタグまたは属性を使用することはお勧めしません(HTMLドキュメントは検証に合格しないため、検索エンジンによるインデックス作成に影響を与える可能性があります)。同様の状況で、classやidなどの適切なhtmlタグの1つを使用し、そこに解析可能な情報を配置しました。

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

次に、属性値を抽出し、split('_')で解析する必要があります。カスタムタグを使用するよりも複雑ですが、有効なHTMLを取得できます。

于 2009-12-09T19:10:29.407 に答える
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 に答える
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 に答える