近年來,網站和應用的界面已經向更加生動、立體的方向發展。開發者們要在前端制作出能夠吸引用戶眼球的動態效果。而Vue提供了一些工具和技巧來實現這些效果。
其中一個例子是展示一個圖片,在鼠標移入圖片時隨機地變換圖片。每100ms隨機變換一次,知道鼠標移出圖片。這個特效將使你的用戶更加集中精神,對于展現多種相似但略有不同的選項或品牌標志會非常實用。
下面我們來看看上述代碼的組成。
首先在template標簽下插入一張圖片。將src綁定到data中的imageSrc屬性上。在mouseover和mouseleave事件中綁定startMotion和stopMotion方法。
繼續看script部分。首先導出一個對象,有三個成員變量data、methods和exported。導出的Vue組件必須提供一個名為exported的屬性,以表示我們想要在Vue組件的外部使用這個組件,這個屬性返回的對象必須有name、description、version和author字段。然后是圖片的路徑,和一個motionInterval的計時器變量。這個計時器用于在鼠標移走圖片時停止圖片變換。
在methods中,我們定義了startMotion和stopMotion方法。startMotion方法首先清除以前的計時器。然后使用setInterval函數來每100ms運行一個方法。這個方法隨機從一組圖片路徑中選取一個,并將其賦值給imageSrc。stopMotion函數也很簡單,只需要清除計時器并將圖片路徑重新設為最初的和圖片路徑。
在Vue組件中運用這個特效非常簡單。需要注意的是,這個例子的類型在用戶移動鼠標時每次變換了圖片,例如在一個網格布局中移動鼠標就會切換多個圖片。這個效果很好地展示了如何利用Vue組件來變換動態圖片。