使用jquery加载div之间的html页面之间的转换?

时间:2013-11-06 11:01:03

标签: javascript jquery html

我正在尝试使用jQuery在HTML页面之间创建一个时尚的过渡。

然而,我只需要淡入淡出html页面的内容。

例如:

我有两页1.html和2.html

他们都有一个名为#content

的DIV

我只需要淡化和淡出div content而不是整个html页面。

我正在使用下面的代码:

<script type="text/javascript">
var speed = 'slow';

$('html, body').hide();
$(document).ready(function() {
    $('html, body').fadeIn(speed, function() {
        $('a[href], button[href]').click(function(event) {
            var url = $(this).attr('href');
            if (url.indexOf('#') == 0 || url.indexOf('javascript:') == 0) return;
            event.preventDefault();
            $('html, body').slideToggle(speed, function() {
                window.location = url;
            });
        });
    });
});
</script>

我也尝试过这样做,它没有做任何事情:

<script type="text/javascript">
var speed = 'slow';

$('html, body').hide();
$(document).ready(function() {
    $('html, body #content').fadeIn(speed, function() {
        $('a[href], button[href]').click(function(event) {
            var url = $(this).attr('href');
            if (url.indexOf('#') == 0 || url.indexOf('javascript:') == 0) return;
            event.preventDefault();
            $('html, body').slideToggle(speed, function() {
                window.location = url;
            });
        });
    });
});
</script>

这可能吗?

由于

1 个答案:

答案 0 :(得分:1)

试试此代码

$(document).ready(function() {

    var hash = window.location.hash.substr(1);
    var href = $('a[href], button[href]').each(function(){
        var href = $(this).attr('href');
        if(hash==href.substr(0,href.length-5)){
            var toLoad = hash+'.html #content';
            $('#content').load(toLoad)
        }                                           
    });

单击“功能”

$('a[href], button[href]').click(function(){

        var toLoad = $(this).attr('href')+' #content';
        $('#content').hide('fast',loadContent);
        $('#load').remove();
        $('#load').fadeIn('normal');
        window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
        function loadContent() {
            $('#content').load(toLoad,'',showNewContent())
        }
        function showNewContent() {
            $('#content').show('normal',hideLoader());
        }
        function hideLoader() {
            $('#load').fadeOut('normal');
        }
        return false;

    });

});

参考这个小提琴

http://jsfiddle.net/fBrYp/2/

相关问题