2012-06-11 65 views
5

我认为这可能只是可能的jQuery或JavaScript - 有人可以告诉我是否有可能从一个样式表的样式淡出到另一个?如果是这样,一个人会怎么做?从一个样式表到另一个样式表淡出

谢谢!

+0

的可能重复[jQuery的自动切换样式表(http://stackoverflow.com/questions/1266275/automatic-jquery-stylesheet-switcher) –

+0

我可以明白为什么这有一个downvote,但想着它,它实际上是一个非常灵活的想法。一些合成器具有场景的想法。使用数字值的一组设置,然后您可以按照用户定义的速率在场景之间随意切换。在样式表之间转换数值的功能看起来很棒。尽管我认为它必须是自定义脚本。 –

+0

虽然可以交换样式表,但两者之间没有动画的概念。你必须通过JS手动设置。 –

回答

3

这是我能想到的最好的办法:

$(body).fadeOut(function() { 
    // Switch the stylesheet 
    // And then: 
    $(this).fadeIn(); 
}); 
+0

谢谢。我将用它作为永久的解决方案。但是有没有办法在两个样式表之间直接淡出? –

+0

不,没有什么可以计算所有样式表的每一条规则。如果有的话,它的使用计算量太大。 –

+0

我会这么想的。这段代码也很棒。它会为我的应用程序添加一个不错的触摸。 –

0

你可以使用jquery动画。 但是你必须指定animate命令中的所有规则。

2

试试这个:

的jQuery:

$(document).ready(function() { 
    $("a").click(function() { 
     var rel = $(this).attr("rel"); 
     $('body').hide().fadeIn(1000); 
     $('head').append('<link rel="stylesheet" href="'+rel+'" type="text/css" />'); 
    }); 

}); 

HTML:

<ul> 
    <li><a href="#" rel="layout.css">Change to layout 1</a></li> 
    <li><a href="#" rel="layout2.css">Change to layout 2</a></li> 
    <li><a href="#" rel="layout3.css">Change to layout 3</a></li> 
</ul> 

问候

相关问题