Tencent_javascript スキルによる高さが固定されていないメッセージのスクロール効果
[Ctrl A Select all Note: If you need to introduce external Js, you need to refresh to execute
Look at the key js code: The code is as follows:
var $ = function (d){
typeof d == "string" &&(d = document.getElementById(d));
return $.fn.call(d);
};
$.fn = function (){
this.addEvent = function (sEventType,fnHandler){
if (this.addEventListener) {this.addEventListener(sEventType, fnHandler, false);}
else if (this.attachEvent) {this.attachEvent("on " sEventType, fnHandler);}
else {this["on" sEventType] = fnHandler;}
}
this.removeEvent = function (sEventType,fnHandler){
if (this.removeEventListener) {this.removeEventListener(sEventType, fnHandler, false);}
else if (this.detachEvent) {this.detachEvent("on" sEventType, fnHandler);}
else { this["on" sEventType] = null;}
}
return this;
};
var Class = {create: function() {return function() { this.initialize.apply(this, arguments); }}} ;
var Bind = function (obj,fun,arr){return function() {return fun.apply(obj,arr);}}
var Marquee = Class.create();
Marquee. prototype = {
initialize: function(id,name,out,speed) {
this.name = name;
this.box = $(id);
this.out = 3;/ /Scroll interval time, unit second
this.speed = speed;
this.d = 1;
this.box.style.position = "relative";
this.box.scrollTop = 0 ;
var _li = this.box.firstChild;
while(typeof(_li.tagName)=="undefined")_li = _li.nextSibling;
this.lis = this.box.getElementsByTagName(_li .tagName);
this.len = this.lis.length;
for(var i=0;i
__li.innerHTML = this.lis[i].innerHTML;
this.box.appendChild(__li);//cloneNode
if(this.lis[i].offsetTop>=this .box.offsetHeight)break;
}
this.Start();
this.box.addEvent("mouseover",Bind(this,function(){clearTimeout(this.timeout);}, []));
this.box.addEvent("mouseout",Bind(this,this.Start,[]));
},
Start:function (){
clearTimeout( this.timeout);
this.timeout = setTimeout(this.name ".Up()",this.out*1000)
},
Up:function(){
clearInterval(this .interval);
this.interval = setInterval(this.name ".Fun()",10);
},
Fun:function (){
this.box.scrollTop =this .speed;
if(this.lis[this.d].offsetTop <= this.box.scrollTop){
clearInterval(this.interval);
this.box.scrollTop = this.lis [this.d].offsetTop;
this.Start();
this.d ;
}
if(this.d >= this.len 1){
this. d = 1;
this.box.scrollTop = 0;
}
}
};
$(window).addEvent("load",function (){
marquee = new Marquee("msg_weibo","marquee",1,2);
});
The implementation idea is the same as the previous text scrolling, which is to fill the current container first. Then scroll up through scrollTop, but the distance of each scroll is not fixed, it is the height of the current scroll message. Due to the difference between scrollTop (the height of scrolling out of the current visible area) and offsetTop (the distance from the top of the parent node, often used to obtain the coordinate position of an element on the page), through if(this.lis[this.d].offsetTop <= this.box.scrollTop) to determine whether the last message has been scrolled and needs to be paused.
I think the highlight is the way $ is written. Usually obj||document.getElementById('objId') is removed from Prototype. In addition, he also binds some methods to obj. Is its role similar to the prototype's method of extending String, Array and other objects? This can be learned from.
In addition, when filling the container during initialization, use document.createElement->assign innerHTML->appendChild to do it. I think it is not as good as directly cloneNode(true)->appendChild. If it is wrong, please correct me.
The main thing is to fill in the gaps this month, haha.

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











メッセージを送信しましたが、相手に拒否されました これは、送信した情報はデバイスから正常に送信されましたが、何らかの理由で相手がメッセージを受信できなかったことを意味します。具体的には、通常、相手が特定の権限を設定しているか、特定のアクションを行っているため、あなたの情報が正常に受信されないことが原因です。

iOS17 では、Apple はメッセージ アプリにいくつかの新機能を追加し、他の Apple ユーザーとのコミュニケーションをより創造的で楽しいものにしました。絵文字をスタンプとして利用できるのも特徴の1つです。ステッカーはメッセージ アプリで何年も使用されてきましたが、これまでのところ大きな変化はありません。これは、iOS17 では、Apple がすべての標準絵文字をステッカーとして扱い、実際のステッカーと同じように使用できるようにするためです。これは基本的に、会話にそれらを挿入することに制限がなくなったことを意味します。メッセージバブル上の任意の場所にドラッグすることもできるようになりました。それらを重ねて小さな絵文字シーンを作成することもできます。次の手順は、iOS17 での動作を示しています。

iPhone の iMessage でスワイプして返信する方法 注: スワイプして返信機能は、iOS 17 の iMessage 会話でのみ機能し、メッセージ アプリでの通常の SMS 会話では機能しません。 iPhone でメッセージ アプリを開きます。次に、iMessage の会話に移動し、返信したい iMessage を右にスワイプします。これが完了すると、選択した iMessage に焦点が合い、他のすべてのメッセージは背景でぼやけます。返信を入力するためのテキスト ボックスと、チェックイン、場所、ステッカー、写真などの iMessage アプリにアクセスするための「+」アイコンが表示されます。メッセージを入力するだけで、

iPhone のネイティブ メッセージ アプリを使用すると、送信されたテキストを簡単に編集できます。このようにして、間違いや句読点を修正したり、テキストに適用された可能性のある間違った語句や単語を自動修正したりすることができます。この記事では、iPhone でメッセージを編集する方法を学びます。 iPhone でメッセージを編集する方法 必須: iOS16 以降を実行している iPhone。 iMessage テキストはメッセージ アプリでのみ編集でき、元のテキストを送信してから 15 分以内に限り編集できます。 iMessage 以外のテキストはサポートされていないため、取得または編集できません。 iPhone でメッセージ アプリを起動します。 [メッセージ] で、メッセージを編集する会話を選択します

1. ブラックリストに追加される: メッセージは送信されましたが、相手によって拒否されます。通常、あなたはブラックリストに登録されます。この時点で、あなたは相手にメッセージを送信できなくなり、相手もメッセージを送信できなくなります。あなたのメッセージを受信できるようになります。 2. ネットワークの問題: 受信者のネットワーク状態が悪い場合、またはネットワーク障害がある場合、メッセージが正常に受信されない可能性があります。この時点で、メッセージを再度送信する前に、ネットワークが通常に戻るのを待つことができます。 3. 相手が「おやすみ」を設定している場合: 受信者が WeChat でおやすみを設定している場合、送信者のメッセージは一定期間通知されず、表示されません。

Vivox100sの発売日が決定しました!最新ニュースがプレビューされました。最近、テクノロジーの世界で Vivox100 が熱狂しています。この待望の製品がついに発売日を確認し、多くの消費者やテクノロジー愛好家を興奮させています。 Vivox100s が今月末に正式にリリースされるとの報道がありますが、それはどのような驚きをもたらすのでしょうか? 待望の新製品のハイライトは何ですか? この技術的な謎を一緒に解明しましょう。 Vivox100sは、Vivoxシリーズの最新傑作として、発表以来大きな注目を集めてきました。

Xiaomi 14Proは、優れたパフォーマンスと構成を備えたフラッグシップモデルです。正式リリース以来、高い売上を達成しています。Xiaomi 14Proの多くの小さな機能は誰もが無視するでしょう。たとえば、メッセージのために画面を点灯するように設定できます。機能は小さいですが、非常に実用的です。携帯電話を使用すると、誰もがさまざまな問題に遭遇するでしょう。それでは、Xiaomi 14Pro をメッセージ用に画面を点灯するように設定するにはどうすればよいですか? Xiaomi Mi 14 Proをセットアップしてメッセージ画面を点灯させるにはどうすればよいですか?ステップ 1: 携帯電話の設定アプリを開きます。ステップ 2: 「ロック画面とパスワード」オプションが見つかるまで下にスワイプし、クリックして入力します。ステップ 3: 「ロック画面とパスコード」メニューで、「通知のために画面をオンにする」オプションを見つけてクリックします。ステップ 4: [通知を受信したときに画面をオンにする] ページで、スイッチをオンにして有効にします。

iOS 17のリリースに伴い、Appleはモバイルオペレーティングシステムに豊富な新機能、機能、機能強化を追加しました。その 1 つは、誰かが電話に出られなかった場合に、FaceTime iPhone ビデオ メッセージと音声を残せるようになったということです。メッセージを残した後、友人や家族は Apple Watch でメッセージを再生することもできるため、つながりを維持しやすくなります。 FaceTime 通話中にビデオ メッセージを残す最初のステップは、通話を開始することです。相手が電話に出ない場合は、ビデオを録画するオプションが画面に表示されます。このオプションをクリックすると、5 から 1 までのカウントダウンが開始され、その後メッセージの録音を開始できます。インターフェイスは「もう一度電話をかける」ボタンと「ビデオを録画する」ボタンを備えた使いやすいものです。
