javascript - 网站上的页面转换?

标签 javascript jquery html

我只是想知道是否有任何方法可以在页面之间导航时创建漂亮、平滑的过渡效果?诸如盲效果、滑动效果等之类的东西。我想我正在寻找类似 jQuery 可以对图像执行的操作——但用于实际的网页。我知道有淡入淡出效果等等,但我只是想知道是否有更“现代”的东西。虽然我意识到 Flash 很适合这个,但它不是一个选择。

最佳答案

如果您使用 jQuery UI,您可以制作一些非常酷的效果。如果您使用 AJAX 加载所有内容,它们会变得更加顺畅……但是,这里有一个让它在整个页面加载下工作的示例。

首先你需要额外包含 jQuery UI(我只是 built my own 并且只抓取了我需要的效果):

<script type="text/javascript" src="jquery-ui-1.7.1.custom.min.js"></script>

这是让它工作所需的 javascript。

$(function() {
    $('body').hide();
    $('a').bind('click', function() { 
        var newPage = $(this).attr('href');
        $('body').hide('blind',{},500, function() {
            newPageParts =  newPage.split('?');
            newPageURL = newPageParts[0];
            newPageParams = newPageParts[1];
            newPage = newPageURL+"?transition=true"+(newPageParams != undefined ? "&"+newPageParams : '');
            window.location=newPage;
        });
        return false;
    });
    if(getURLParam('transition') != '') {
        $('body').show('blind',{},500,null);
    }
});

function getURLParam(strParamName){
    var strReturn = "";
    var strHref = window.location.href;
    if ( strHref.indexOf("?") > -1 ){
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
            if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return strReturn;
}

当然,淡入仅适用于具有此脚本的页面...

请注意:我只是在几分钟内完成了这个,所以它可能真的很贫民窟。但是,它确实有效……所以……是的……

关于javascript - 网站上的页面转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/781654/

相关文章:

javascript - 如何修改代码让Highcharts图表不覆盖页面顶部的固定导航栏?

javascript - 如何将 CSS/HTML 添加到 Ajax 调用

javascript - 单击其他复选框时 Jquery 更改复选框

javascript - React/Redux 应用程序中 js Promise 中 Uncaught Error

javascript - 以编程方式从多个输入字段上传多个文件 - blueimp jquery fileupload

javascript - 计算两个时间戳之间的差异并获得 unix 时间戳的差异

jQuery Mobile 选项卡禁用() : Uncaught Error: jQuery UI Tabs: Mismatching fragment identifier

jquery - 更改水平形式以左对齐( Bootstrap )

javascript - 如何保存更新应用于您的页面 html

html - 如何使用 css 根据内容宽度在 div 中排列这些制表符/气泡元素?