随机化jQuery中的值

时间:2012-05-02 22:15:27

标签: jquery html slider

该滑块FancyTransitions不支持随机效果。因此,为了解决这个问题,我需要effect: 'curtain'的值是随机的,可以是“幕布”,“拉链”或“波浪”。除非有更好的解决方法。

<script type="text/javascript">
    $(document).ready( function(){
        $('#slideshowHolder').jqFancyTransitions({
        width: 500, // width of panel
        height: 333, // height of panel
        strips: 10, // number of strips
        delay: 4000, // delay between images in ms
        stripDelay: 50, // delay beetwen strips in ms
        titleOpacity: 0.7, // opacity of title
        titleSpeed: 1000, // speed of title appereance in ms
        position: 'alternate', // top, bottom, alternate, curtain
        direction: 'random', // left, right, alternate, random, fountain, fountainAlternate
        effect: 'curtain', // curtain, zipper, wave
        navigation: false, // prev next and buttons
        links : false // show images as links                                                   });
    });
</script>

4 个答案:

答案 0 :(得分:1)

你的意思是

effect: ['curtain', 'zipper', 'wave'][Math.floor(Math.random() * 3)] 

答案 1 :(得分:0)

尝试类似......

var effect;
var i = Math.floor((Math.random()*3)+1);

if (i==1) effect = "curtain";
if (i==2) effect = "zipper";
if (i==3) effect = "wave";

答案 2 :(得分:0)

var effects = ["curtain", "zipper", "wave"];

$(document).ready( function(){
    $('#slideshowHolder').jqFancyTransitions({
    ...
    effect: effects[Math.floor(Math.random() * 3)], // curtain, zipper, wave
    ...
    });
});

答案 3 :(得分:0)

插件没有转换回调,因此您需要对其进行修改以允许随机化效果参数。

在插件代码中将params.effect = ['curtain', 'zipper', 'wave'][Math.floor(Math.random() * 3)];添加到$.transition函数的顶部会在每次转换时随机设置效果参数。没有测试,但这应该是方式。

我强烈建议您使用更好的幻灯片插件,例如cyclenivo-slider