我正在使用自定义jQuery插件,可以使用脚本轻松创建可自定义的文本下划线。该插件仅在鼠标悬停事件中创建这些下划线。到目前为止,我已经设法定制它,以便下划线是永久性的,并加载网页,但我很难在一个网页上创建大量下划线实例,由于某些原因,尽管使用了类,但只有一个下划线可以存在于任何时候。
这是jQuery;
(function($){
$.fn.underline = function(options) {
var defaults = {
width: 1,
distance: 0,
color: '#000',
durationOn: 250,
durationOff: 250,
extend: 2,
};
var options = $.extend(defaults, options);
$('body').append('<div class="underlineLine"></div>');
$('.underlineLine')
var position = $(this).offset();
var top = position.top;
var left = position.left;
var objWidth = $(this).width();
var objHeight = $(this).height();
$('.underlineLine').css({'position' :'absolute',
'display' :'none',
'height' : options.width+'px',
'background-color': options.color,});
$('.underlineLine').css({'left' : left-options.extend,
'top' : top+objHeight+options.distance,
'width': objWidth+options.extend*2 })
.fadeIn();
};
})(jQuery);
在我的php网页上调用脚本:
<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
$('.underline a').underline({
width: 4, //default: 1
distance: -1, //default: 0
color: '#66FFB2', //default: #000
durationOn: 350, //default: 250
durationOff: 350, //default: 250
extend: 2, //default: 2,
});
});
</script>
简单的HTML召唤:
<div class="underline"><a href="#">LINK</a></div>
<div class="underline"><a href="#">LINK</a></div>
<div class="underline"><a href="#">LINK</a></div>
如果有人可以花几分钟来帮助我,我会非常感激。 谢谢, 马特
答案 0 :(得分:1)
您需要循环此
中的所有对象(function($){
$.fn.underline = function(options) {
var defaults = {
width: 1,
distance: 0,
color: '#000',
durationOn: 250,
durationOff: 250,
extend: 2,
};
var options = $.extend(defaults, options);
for(i = 0; i < this.length; i++)
{
var row = this[i];
var line = $("<div class=\"underlineLine\"></div>");
var position = $(row).offset();
var top = position.top;
var left = position.left;
var objWidth = $(row).width();
var objHeight = $(row).height();
$(line).css({'position' :'absolute',
'display' :'none',
'height' : options.width+'px',
'background-color': options.color,});
$(line).css({'left' : left-options.extend,
'top' : top+objHeight+options.distance,
'width': objWidth+options.extend*2 }).fadeIn();
$('body').append(line);
}
};
})(jQuery);