jQuery效果

重點:
在做效果的時候難免會出現動畫排隊的現象,比如其他鼠標事件或者鼠標點擊事件過快,效果來不及運行,就會出現排隊顯現,所以,我們要在做的動畫的前面添加一個stop()方法,這樣就不會出現排隊情況
例如
這個是下拉菜單的案例

  <ul class="nav">
        <li>
            <a href="">手機</a>
            <ul>
                <li><a href="">華爲</a></li>
                <li><a href="">iPhone</a></li>
                <li><a href="">oppo</a></li>
            </ul>
        </li>
        <li>
            <a href="">電腦</a>
            <ul>
                <li><a href="">蘋果</a></li>
                <li><a href="">外星人</a></li>
                <li><a href="">華碩</a></li>
            </ul>
        </li>
        <li>
            <a href="">電視</a>
            <ul>
                <li><a href="">長虹</a></li>
                <li><a href="">康佳</a></li>
                <li><a href="">聯想</a></li>
            </ul>
        </li>
    </ul>
 <script>
 $(function() {
            console.log($('.nav>li'));
            $('.nav>li').mouseover(function() {
                $(this).children('ul').stop().slideDown()
            })
            $('.nav>li').mouseout(function() {
                $(this).children('ul').stop().slideUp()
            })
        })
</script>

這樣在我滑上,滑下的時候不管我鼠標滑入滑出多塊,都只會執行一次這個滑動效果

顯示隱藏

三個方法

show()		顯示	
hide()		隱藏
toggle()	顯示與隱藏相互切換

接受三個參數,如果不寫就直接顯示隱藏
(speed(速度), easing(指定切換效果)默認是’swing’, fn(回調函數 ))
演示

<div class ="one"></div>
<button></button>
<script>
	$('.box').hide()	隱藏div
	$('.box').show()	顯示div
	點擊按鈕可以使div在顯示和隱藏兩個效果中切換
	 $('button').click(function() {
            $('.box').toggle()
        })
</script>

滑動

也有三個方法

slideDown()		向下滑動
slideUp()		向上滑動
slideToggle()		上下滑動切換

也接受三個參數
(speed(速度), easing(指定切換效果)默認是’swing’, fn(回調函數 ))

<div class ="one"></div>
<button></button>
<script>
	$('.box').slideDown()	向上滑
	$('.box').slideUp()	 	向下滑
	點擊按鈕可以使div在上和下滑動兩個效果中切換
	 $('button').click(function() {
            $('.box').slideToggle()
        })
</script>

淡入淡出

也接受三個參數
(speed(速度), easing(指定切換效果)默認是’swing’, fn(回調函數 ))

fadeIn()		淡入
fadeOut()		淡出
fadeToggle()	淡入淡出相互切換
fadeTo()		修改透明度

自定義動畫 (重點)

animate(params,[speed],[easing],[fn])

1. params:想要修改樣式的屬性,以對象形式傳遞,必須寫,屬性名不用帶引號,如果是複合屬性要採用駝峯命名法,其餘的參數都可以省略

2. speed : 速度參數 (‘slow’, ‘normal’, ‘fast’) 可省略或者可以用數值表示毫秒數(1000)
3. .easing: 切換的效果,默認是’swing’. 可省略 可以修改成 "linear"

4. fn(): 回調函數,如果需要在動畫完成之後再有其他操作,就可以添加回調函數
例子

我要點擊按鈕然後這個div運動到我想要的位置,運動完後再變成黃色

 <button>運動</button>
    <div class="box"></div>
    <script>
        $('button').click(function() {
            $('.box').animate({
                left: 200,
                top: 200
                //這裏2000,指的是執行動畫的時間
            }, 2000, function() {
                $('.box').css('backgroundColor', 'yellow')
            })
        })
    </script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章