2016-12-07 49 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。在這裏,我傳遞了「grvMyRoles_ctl05_imgMyRoleDetail」作爲GridView中存在的靜態圖像ID。當我徘徊在它上面時,它應該顯示帶有內容的動態div。在這裏,我傳遞「#grvMyRoles_」+ res +「_divMyRoleDetails」作爲靜態div(因爲'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

相關問題