Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery脚本只加载,而不是单击时加载_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript Jquery脚本只加载,而不是单击时加载

Javascript Jquery脚本只加载,而不是单击时加载,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我是Javascript新手,我发现了这个很酷的jquery文本离开板效果 JavaScript $.fn.ticker = function( options ) { options = $.extend({ uppercase: true, extra: ',.:+=/()', speed: 30 }, options); var alph = 'ABCDEFGHIJKLMNOPQRSTUVXYZ'; i

我是Javascript新手,我发现了这个很酷的jquery文本离开板效果

JavaScript

$.fn.ticker = function( options ) {

    options = $.extend({
        uppercase: true,
        extra: ',.:+=/()',
        speed: 30
    }, options);

    var alph = 'ABCDEFGHIJKLMNOPQRSTUVXYZ';

    if ( !options.uppercase ) {
        alph = alph + alph.toLowerCase();
    }
    alph = '01234567890'+alph + options.extra + ' ';

    return this.each(function() {
        var k = 1,
            elems = $(this).children(),
            arr = alph.split(''),
            len = 0,
            fill = function( a ) {
                while( a.length < len ) {
                    a.push(' ');
                }
                return a;
            },
            texts = $.map( elems, function( elem ) {
                var text = $(elem).text();
                len = Math.max(len, text.length);
                return options.uppercase ? text.toUpperCase() : text;
            }),
            target = $('<div>'),
            render = function(print) {
                target.data('prev', print.join(''));
                fill(print);
                print = $.map(print, function(p) {
                    return p == ' ' ? '&#160;' : p;
                });
                return target.html('<span>' + print.join('</span><span>') + '</span>');
            },
            attr = {}

        $.each(this.attributes, function(i, item) {
            target.attr( item.name, item.value );
        });

        $(this).replaceWith( render( texts[0].split('') ) );

        target.click(function(e) {

            var next = fill(texts[k].split('')),
                prev = fill(target.data('prev').split('')),
                print = prev;

            $.each(next, function(i) {
                if (next[i] == prev[i]) {
                    return;
                }
                var index = alph.indexOf( prev[i] ),
                    j = 0,
                    tid = window.setInterval(function() {
                        if ( next[i] != arr[index] ) {
                            index = index == alph.length-1 ? 0 : index + 1;
                        } else {
                            window.clearInterval(tid);
                        }
                        print[i] = alph[index];
                        render(print);
                }, options.speed)
            });
            k = k == texts.length-1 ? 0 : k + 1;
        });
    });
};

$('#text').ticker();
我注意到,在单击div之后,脚本将更改为数组的下一部分,这与target有关。我猜是单击

如何将此更改为“更改加载”

只需使用.ready()即可。单击();)

只需使用.ready()即可。单击();)


如果删除
目标。单击(函数(e){
这将在“onload”下工作-


但是,如果要保留click()触发器,可以在加载后触发click。可以使用
$('#text')执行此操作。如果删除
目标,则触发('click')
-

。单击(函数(e){
这将起到“onload”的作用


但是,如果您想保留click()触发器,可以在加载后触发click。您可以使用
$('#text')执行此操作。trigger('click')
-

当然,只需更改
目标。单击
$(文档)。准备好了吗


我必须演示。

当然,只需更改
目标。单击
$(文档)。准备好了吗

我必须示范一下

<ul id="text">
    <li>4032 London</li>
    <li>5901 Paris</li>
    <li>9954 Cologne</li>
    <li>4204 St. Petersburg</li>
</ul>
<p>&#8593; Click</p>
#text{cursor:pointer;overflow:hidden;font:40px/1 monospace;}
#text span{display:block;float:left;background:#444;
    color:#fff;margin-right:1px;}