$(function() {
$('#gotop').click(function() {
jQuery('html, body').animate({
scrollTop: 0
}, 1000);
});
$(window).scroll(function() {
if ($(this).scrollTop() > 500) {
$('#gotop').fadeIn('fast');
} else {
$('#gotop').stop().fadeOut('fast');
}
});
});
假設我需要一個 div 區塊 「gotop」
我現在的做法是要把 <div id="gotop">↑</div>
放在網頁的某處
這是沒問題,只是會讓我必須要找個地方放這個 <div id="gotop">↑</div>
當然我還有其他類似的事件必需都要先準備區塊
所以 div 就會更多⋯⋯
請問有什麼方式透過程式產生
但至少我一開始不用自己放這些區塊?
請問有什麼方式透過程式產生
純 js
document.createElement('div')
或者你可以用 css 先隱藏
display: none
了解,我也有想到這個
但假設像 jquery 就必須要有一個選擇器去 render 對嗎,變成是我又要放一個預設的 div 在那裡$('#questions').append(i);
我現在的作法確實是 display: none
只是 div 不少,放著不好看
那如果是要加入那麼長的 ele 呢?<div class="display-none page-loading-layout page-loading-layout-evt"><div class="page-loading-icon translate-middle"><img src="/images/loading.svg"></div></div>
但假設像 jquery 就必須要有一個選擇器去 render 對嗎
是
不然他不知道你要放哪
只是 div 不少,放著不好看
誰會去看
應該是說我就必須要找到一個地方去「先放」這些 div ,這樣是常規做法嗎
那如果是要加入那麼長的 ele 呢?
就用 jquery append 直接加呀
用 純 js 會又臭又長
你這個 element 會一直重複或者是差在裡面 data 不一樣嗎
是的話
你可能會需要 react 或 vue 那種 component 寫法
這樣是常規做法嗎
沒有一定怎麼做呀
除非會影響效能之類的
不然其實沒啥差
一般應該也不 care 成品 html 有多長
只會 care 真正的 code
然後用 css 有個好處就是
你可以先規劃要放哪
在直接藏起來
雖然 js 也可以就是
但 css 會比較簡單我覺得
有什麼方式透過程式產生
我想這才是她想說的重點..
你可直接寫在JS裡面
document.write('<div id="gotop">XXXXX</div>">');
$(function() {
$('#gotop').click(function() {
jQuery('html, body').animate({
scrollTop: 0
}, 1000);
});
$(window).scroll(function() {
if ($(this).scrollTop() > 500) {
$('#gotop').fadeIn('fast');
} else {
$('#gotop').stop().fadeOut('fast');
}
});
});
這邊還是一個觀念給你。先了解你的需求,再來了解你的設計理念性。
依其gotop來說好了。它確實可以不需要事先先放置div上去。
但如果你不事先放置上去的話。那你就得在判斷上增加新建元件及移除元件的相關設計出來。
在設計上會有其麻煩性。
所以當然是事先先將元件置放好。這樣在做處理就會比較單純許多。
程式開發裏沒有任何的決定是對跟錯。是否要事先放好div並沒有一定的決定性。
依情況不同,有些事先放是好的。有時候反而事先放不好。
這樣的問題,你要自已來決定對還是不對。