我希望在悬停时突出显示页面的元素。该页面位于 iframe 内。
我正在使用一个 css 类来给出蓝色轮廓:
.highlight {
outline: 2px solid #08C !important;
}
尝试#1:向悬停的元素添加类
首先,我尝试将 css 类添加到悬停的元素中。为了确保轮廓完全可见,我不得不将周围元素的 css 位置更改为“相对”并使用 z-index 值。但这在某些情况下破坏了布局(例如图像转到下一行)。
问题:要么轮廓不完全可见,要么我破坏了布局
尝试#2:在悬停元素之上添加新的 DOM 元素
为了避免影响页面的设计,我认为创建一个带有蓝色边框的新 div 并将其放置在现有元素的顶部会更好。
这在这个小提琴中可以正常工作:http: //jsfiddle.net/aDGbX/1/
但到目前为止还没有在 iframe 中。(我在任何地方都看不到大纲)。
$(document).ready(function() {
$('body').find(".hoverClass").bind("hover", function() {
thisId = $(this).attr('id');
var pos = $('#'+thisId).offset();
var w = $(this).width();
var h = $(this).height();
jQuery('<div/>', {
id: 'highlighterDiv',
}).appendTo('body');
$("#highlighterDiv").css( {position: 'absolute', top: pos.top, left: pos.left, 'z-index': '99' } );
$("#highlighterDiv").css( {width: w, height: h} );
$("#highlighterDiv").addClass('highlight');
$("#highlighterDiv").show();
});
});
问题:目前无法在 iframe 中工作
问题:
第二次尝试是更好的方法吗?或者你会推荐什么?