Javascript 查询

Posted

技术标签:

【中文标题】Javascript 查询【英文标题】:Javascript query 【发布时间】:2012-09-26 18:19:18 【问题描述】:

我一直在使用 Raptorize Jquery 插件,想知道是否有人知道如何偏移图像,使其离开页面开始并移动。 (我不知道如何使用 javascript

希望你能帮忙

(function($) 

    $.fn.raptorize = function(options) 

        //Yo' defaults
        var defaults =   
            enterOn: 'click', //timer, konami-code, click
            delayTime: 5000 //time before raptor attacks on timer mode
            ;  

        //Extend those options
        var options = $.extend(defaults, options); 

        return this.each(function() 

            var _this = $(this);
            var audiosupported = false;
            //Stupid Browser Checking which should be in jQuery Support
            if ($.browser.mozilla && $.browser.version.substr(0, 5) >= "1.9.2" || $.browser.webkit)  
                audioSupported = true;
            

            //Raptor Vars
            var raptorImageMarkup = '<img id="elRaptor" style="display: none" src="raptor.png" />'
            var raptorAudioMarkup = '<audio id="elRaptorShriek" preload="auto"><source src="raptor-sound.mp3" /><source src="raptor-sound.ogg" /></audio>'; 
            var locked = false;

            //Append Raptor and Style
            $('body').append(raptorImageMarkup);
            if(audioSupported)  $('body').append(raptorAudioMarkup); 
            var raptor = $('#elRaptor').css(
                "position":"fixed",
                "bottom": "0px",
                "right" : "0",
                "display" : "block"
            )

            // Animating Code
            function init() 
                locked = true;

                //Sound Hilarity
                if(audioSupported)  
                    function playSound() 
                        document.getElementById('elRaptorShriek').play();
                    
                    playSound();
                

                // Movement Hilarity    
                raptor.animate(
                    "bottom" : "0"
                , function()              
                    $(this).animate(
                        "bottom" : "0px"
                    , 100, function() 
                        var offset = (($(this).position().left)+600);
                        $(this).delay(300).animate(
                            "right" : offset
                        , 2300, function() 

                            raptor = $('#elRaptor').css(
                                "bottom": "-700px",
                                "right" : "300"
                            )
                            locked = false;
                        )
                    );
                );
            


            //Determine Entrance
            if(options.enterOn == 'timer') 
                setTimeout(init, options.delayTime);
             else if(options.enterOn == 'click') 
                _this.bind('click', function(e) 
                    e.preventDefault();
                    if(!locked) 
                        init();
                    
                )
             else if(options.enterOn == 'konami-code')
                var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
                $(window).bind("keydown.raptorz", function(e)
                    kkeys.push( e.keyCode );
                    if ( kkeys.toString().indexOf( konami ) >= 0 ) 
                        init();
                        $(window).unbind('keydown.raptorz');
                    
                , true);

            

        );//each call
    //orbit plugin call
)(jQuery);

【问题讨论】:

【参考方案1】:

您可以使用“right”属性偏移图像,只需将其设置为负宽度(这假定图像有一个宽度,它应该被附加到正文中)。

例如:

 var raptor = $('#elRaptor').css(
                "position":"fixed",
                "bottom": "0px",
                "right" : -$("#elRaptor").width(),
                "display" : "block"
              );

我创建了一个小样本here,等待三秒钟,“猛禽”开始从屏幕的右下角走到左下角。

检测音频支持的更好方法是使用 Modernizr,请参阅 http://modernizr.com/docs/。

【讨论】:

谢谢 strmstn 我会试试这个:) 您好 strmstn,您能举个例子说明您将如何做到这一点吗?我无法让它工作:(【参考方案2】:

看起来您的代码与原始插件版本有点不同。这种差异导致猛禽从页面上开始,而不是隐藏在视图之外。

将 css bottom 属性从 0px 更新为 -700px:

var raptor = $('#elRaptor').css(
    "position": "fixed",
    "bottom": "-700px", // Update bottom from 0px to -700px
    "right": "0",
    "display" : "block"
);

旁注:自原始 raptorize 插件发布(2010 年)以来已经有很长一段时间了,并且它停止与较新的 jQuery 版本一起使用。有一个更新的实现 (https://github.com/randomvlad/raptorize-jquery) 支持 jQuery 版本 1.7+、2.x 和 3.x 以及一些额外的改进。

免责声明:我是更新后的 raptorize 2.0 插件的“作者”,该插件本身基于 ZURB (https://zurb.com/playground/jquery-raptorize) 的原始插件。

【讨论】:

以上是关于Javascript 查询的主要内容,如果未能解决你的问题,请参考以下文章

javascript 媒体查询,如果从javascript检测到匹配

javascript 使用javascript将查询参数添加到URL

javascript 如何在JavaScript中获取查询字符串值?

JavaScript Javascript函数获取URL查询字符串参数

Javascript 查询

javascript JavaScript从url中获取指定查询字符串的值