-1

これは私の問題です: フォルダー内のファイルの数に依存するため、li の数が少ない ul リストがあります。それらのファイルを div に一覧表示し、マウスがそれらの 1 つをホバーすると、その div でのみ新しいリンクを取得するまで必要です。

私のコードはこれです:

function showImages(data) {
    var ul = "<ul id='productImages'>";

    for (i = 0; i < data.length; i++) {
        var tempButton = i;
        var link = '@Html.ActionLink("Pedir Detalhes","ContactUs", new { tempVerifyButton = 3}, new { @class = "visualize"})';

        var directories = data[i];
        ul += "<li id = 'element" + i.toString() + "'><img src='../Content/images/Products/" + directories.ImageName + "' /><div class = 'description'><div id = 'productsText'>" + directories.DescriptionName + "</div></div></li>";
    }

    ul += "</ul>";

    $("#directoryImages").append(ul);

    for (i = 0; i < data.length; i++) {
        var element = "ul#productImages li#element" + i.toString();
        $(element).hover(
        function () {
            var link = '@Html.ActionLink("Pedir Detalhes","ContactUs", new { tempVerifyButton = 3 }, new { @class = "visualize"})';
            $(".description").append("<div class = 'visualize'>" + link + "</div>");
        });
    }
}

このコードの問題は、マウスが li 要素の 1 つをホバーすると、すべての .description がリンクを取得し、リンクを取得するまで現在ホバーされている li のみが必要であり、フォーカスを失うとリンクが消えることです。

編集:

私はすでに $(this).append($(".description").append("< div class = 'visualize'>" + link + "< /div>")); を使用しています。

何か案は?

4

1 に答える 1

2

これで試してください(現在の要素)

$(this).append("<div class = 'visualize'>" + link + "</div>");

http://learn.jquery.com/javascript-101/this-keyword/

これは、メソッドが呼び出されるオブジェクトを参照するためにメソッドで使用される特別なキーワードです。

于 2013-08-13T12:56:06.843 に答える