2016-12-07 5 views
0
var imgRole = "grvMyRoles_ctl05_imgMyRoleDetail"; 
    var res = imgRole.substr(11, 5); 

$(document).ready(function() { 
    var offsetY = -110; 
    var offsetX = -370; 

    $("#grvMyRoles_" + res + "_imgMyRoleDetail").hover(function(e) { 
     $("#grvMyRoles_" + res + "_divMyRoleDetails").fadeIn(400); 
     $("#grvMyRoles_" + res + "_divMyRoleDetails").css('top', e.pageY + offsetY).css('left', e.pageX + offsetX); 
    }, function() { 
     $("#grvMyRoles_" + res + "_divMyRoleDetails").hide(); 
    }); 

    $("#grvMyRoles_" + res + "_imgMyRoleDetail").mousemove(function(e) { 
     $("#grvMyRoles_" + res + "_divMyRoleDetails").css('top', e.pageY + offsetY).css('left', e.pageX + offsetX); 
    }); 
}); 

これは静的IDで正しく機能します。ここでは、GridViewに存在する静的イメージIDとして "grvMyRoles_ctl05_imgMyRoleDetail"を渡しています。私が上に乗っているときは、内容のある動的なdivが表示されるはずです。ここで私は静的divとして "#grvMyRoles_" + res + "_divMyRoleDetails"を渡しています(ここでは 'res'は画像とdivの両方のidに一定です)。 しかし動的画像のホバー効果で動的divコンテンツを表示します。グリッドの画像の動的IDと画像のホバーの表示divの取得方法

助けてください。

+0

使用クラス。 –

答えて

0

asp.net webformsを使用している場合(私のコードを参照)、部分文字列の代わりに<% grvMyRoles.ClientID %>を使用してみてください。

var imgRoleIdSelector = '#' + <%= grvMyRoles.ClientID %> 

$(document).ready(function() { 
    var offsetY = -110; 
    var offsetX = -370; 

    $(imgRoleIdSelector).hover(function(e) { 
     $(imgRoleIdSelector).fadeIn(400); 
     $(imgRoleIdSelector).css('top', e.pageY + offsetY).css('left', e.pageX + offsetX); 
    }, function() { 
     $(imgRoleIdSelector).hide(); 
    }); 

    $(imgRoleIdSelector).mousemove(function(e) { 
     $(imgRoleIdSelector).css('top', e.pageY + offsetY).css('left', e.pageX + offsetX); 
    }); 
}); 

参考:代わりに https://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid(v=vs.110).aspx

関連する問題