0

あなたが私のdivで「マウスオーバー」しているときに、ビデオを表示するスクリプトに取り組んでいます。IEのため、mouseenterを呼び出すjquery関数を使用していますが、何も起こりませんでした。

私のスクリプト:

jQuery.fn.PlayMovieHome = function () {
    alert("something");
    var co = $(this).children("a").children("img").attr("src").split('images/')[1].split('.')[0];
    var odkaz = $(this).children("a").attr("href");
    $(this).children("a").after("<div id='video' style='position:absolute;width:163px;height:123px;top:5px;'><embed type='application/x-shockwave-flash' src='http://pacogames.com/games/videos/" + co + ".swf' width='163' height='123' wmode='transparent'></embed><a href='" + odkaz + "'><img src='http://pacogames.com/images/163x123.gif' style='position:absolute;left:0px;width:163px;height:123px;top:5px;'></a></div>");
};

jQuery.fn.StopMovieHome = function () {
    $(this).children('#video').remove();
};

と:

$("div#games").on('mouseenter', '.videobox', function () {
    var element = $(this);
    $(element).data('timeouthra', setTimeout(function () {
        $(element).PlayMovieHome();
    }, 250));
});

$("div#games").on('mouseleave', '.videobox', function () {
    var element = $(this);
    clearTimeout($(element).data('timeouthra'));
    $(this).StopMovieHome();
});

html は次のようになります。

<div id="games">
  <li id="videobox-id" class="videobox">
    <a href="/games/nascar.swf">    
    <img class="BOXGAMES_IMG" src="./images/nascar.png" alt="play nascar" style="position: relative; z-index: 1;" /><br />Nascar Racing
    </a>
  </li>
</div>

それは動作しません。誰かが理由を知っていますか?私は何が欠けていますか?

4

1 に答える 1

1

これを試して:

$("div#games").on('mouseenter', '.videobox', function () {
    var element = $(this);
    element.data('timeouthra', setTimeout(function () {
        element.PlayMovieHome();
    }, 250));
});

$("div#games").on('mouseleave', '.videobox', function () {
    var element = $(this);
    clearTimeout(element.data('timeouthra'));
    element.StopMovieHome();
});
于 2013-03-04T12:35:35.197 に答える