來自騰訊的乙個不固定高度得訊息的滾動特效

2022-09-28 21:27:17 字數 1342 閱讀 4458

[ctrl+a 全選 注:如需引入外部js需重新整理才能執行]

看關鍵的js code:

複製** **如下:

var $ = function (d);

$.fn = function ()

else if (this.attachevent)

else

} this.removeevent = function (seventtype,fnhandler)

else if (this.detachevent)

else

} return this;

}; var class = }};

vwww.cppcns.comar bind = function (obj,fun,arr)}

var marquee = class.create();

marquee.prototype =

this.start();

this.box.addevent("mouseover",bind(this,function(),));

this.box.addevent("mouseout",bind(this,this.start,));

}, start:function (),

up:function(),

fun:function ()

if(this.d >= this.len + 1)

} };

$(window).addevent("load",function ());

實現思路與以前的文字滾動是一樣的,都是先充滿當前容器,再通過scrolltop++往上滾的,只不過他是每次滾動的距離不是固定的,是取當前滾動訊息的高度。由於scrolltop(滾出當前可視區域的高度)和offsettop(距離父節點頂部的距離,常用於取某元素在頁面的座標位置)的區別,所以通過 if(this.lis[this.d].offsettop <= this.box.scrolltop)來判斷是否滾動完上條訊息,需要停頓下了。

我覺得亮點之處在於$的寫法。通常prototype裡也就取下obj||document.getelementbyid('objid'),他這裡除此外還幫obj繫結了一些方法。他的作用是不是類似於原型擴充套件string、array等物件的方法呢。這個可以借鑑。

另外,他初始化時填充容器時用document.createelement->賦innerhtml->appendchild來做,我覺的不如直接clonenode(true)->appendchild好,如不對,歡迎指正。

主要還是填下這個月的坑,哈哈。

本文標題: 來自騰訊的乙個不固定高度得訊息的滾動特效

本文位址:

css實現乙個元素高度固定寬度按比例顯示效果

用padding top百分比可以實現寬度固定高度按比例展示,現在的需求是對乙個video 的盒子div高度是固定的,寬度如何按比例展示?解決後效果如圖 紅框標註的即是我在上面高度比例固定的範圍內寬度自適應的效果 css content btn play iframe,object,embed,vi...

來自乙個react SPA的總結 redux篇

本文是自己這幾天做乙個reactspa的其中之一篇總結,主要總結在實踐中,學習到的有關redux的一些思想 並沒有太多細節 方便日後自己的重溫 redux用作管理應用的data state和ui state,在react中元件間的通訊一般是parent child間,兄弟間鑑於我初出茅廬,暫時沒遇到...

來自乙個前端新手的感悟

初入社會,我只是乙個前端路上飛行的菜鳥,經過一段時間的工作之後,才知道,我踩了無數的坑。希望,看過我寫的文章的同胞們,不要再和我犯同樣的錯誤。純屬個人思考 1.當負責專案中乙個模組的開發時,不要忘記,它只是專案中的乙個模組。當我拿到專案經理安排好的工作計畫書時,開始對自己負責的部分的需求進行熟悉,這...