0

こんにちは、私は jQuery カスタム下線プラグイン (以下) を使用しています。コードは比較的単純です。現在、下線はマウスオーバー機能で表示され、マウスアウトで消えます。また、下線のインスタンスは一度に 1 つだけ Web ページに存在できます。マウスの動きに関係なく下線が永続的になり、1 つのページに複数のインスタンスが存在できるようにコードを調整したいと思いますが、それを機能させるのに苦労しています。現在のコードは次のとおりです。

<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,
            linkOn:          'mouseover',   //default: 'mouseover'
            linkOff:         'mouseout'             //default: 'mouseout'
    });
    });
</script>



(function($){  
$.fn.underline = function(options) {
    var defaults = { 
                    width:       1,
                    distance:    0,
                    color:       '#000',
                    durationOn:  250,
                    durationOff: 250,
                    extend:      2,
                    linkOn:      'mouseover',
                    linkOff:     'mouseout'
                   };

    var options = $.extend(defaults, options);

    return this.each(function() { 
        obj = $(this);

        //Mouse Events
        var linkOn = options.linkOn;
        var linkOff = options.linkOff;

        obj.bind(linkOn, function() {
          $('#underlineLine').remove();

            var position  = $(this).offset();
            var top       = position.top;
            var left      = position.left;

            var objWidth  = $(this).width();
            var objHeight = $(this).height();

            $('body').append('<div id="underlineLine"></div>');

            $('#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(options.durationOn);

        });

        obj.bind(/*linkOff,*/ function() {
            $('#underlineLine').fadeOut(options.durationOff);

        });
    });  
};
})(jQuery);

<div class="underline"><a href="#">LINK</a></div>

ありがとう!

4

0 に答える 0