台灣最大程式設計社群網站
線上人數
1151
 
會員總數:244873
討論主題:188880
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> 如何做讀取網頁數值做顏色改變分級?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何做讀取網頁數值做顏色改變分級?
價值 : 60 QP  點閱數:369 回應數:10

樓主

徐筱麗
門外漢
0 1
13 1
發送站內信


我是js新手,碰到一個問題想請問一下各位高手,我想要讓文字依照aqi的數值高低來做變色區別出分級然後顯示在網頁上

看到很多文章都寫說要使用button然後click觸發變色,不過我想要讓他自己能變色不要依靠button,

所以用了 if...else 但是卻怎麼樣都跑不出來,想請問高手們我該怎麼辦?




搜尋相關Tags的文章: [ js ] , [ style ] , [ 文字顏色 ] ,
本篇文章發表於2018-10-31 10:52
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你只是寫好了一個函式(function),但並未將其運行。
當然不會動了。

認真來說,是可以確定你真的是新手。

我先教你怎麼改你這一支程式碼好了。

1.先在第25行,再多個 changecolor();

2.將27~30行,移到最上面去。也就是javascript的控制要放在最下面。
原因如想了解你再問。

這樣就因該可以運行了。
本篇文章回覆於2018-10-31 11:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
我習慣用 $(document).ready
不過要載入jQuery就是了...
本篇文章回覆於2018-10-31 12:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
初學者先不要直接教導帶入jquery的觀念。
雖然jquery確實會方便許多。

不過我比較喜歡就目前他能了解的程度來做回答。
不要一股腦兒的直接告訴用jquery的方式。
等到他日後碰到jquery的寫法後。基本的東西學會了才能了解我們說的東西是什麼。
本篇文章回覆於2018-10-31 14:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

彩虹
檢舉此回應
to 作者
除了依照 #浩瀚星空 提供的修改之後
基本上一定還是會無法運行∼

錯誤的地方蠻多的,如以下三點

1.注意到這一行
var ele = document.getElementById( "daqi" ) ;
他取得到的是整個「div(含lebel)」元素,而不是text=23

2.假設能取得“23”之後,要轉 integer 才有辦法比較大小

3.javascript 沒有 rgb() 這個 funciton
請記得補上雙引號 「"rgb(159, 53, 255"」

以上三點你自行修改看看,如果一樣用不出來,再請回覆
本篇文章回覆於2018-10-31 18:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

彩虹
檢舉此回應
第三點的部分,剛少打一個右邊括弧
"rgb(159, 53, 255" => "rgb(159, 53, 255)"
本篇文章回覆於2018-10-31 18:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

徐筱麗
檢舉此回應
非常感恩 浩瀚星空 跟 彩虹 兩位大大的指教
不過我不太明白"讀取後轉換成integer"的部分是要如何做處裡?

本篇文章回覆於2018-11-01 11:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
to 彩虹
其實你說到的重點,是我打算讓他自行發現的。
借此了解看看他是有心要學,會不會去查看資料的。
因為如果說要直接告訴他的話。其實只要用簡短的程式碼po給他就行了。
畢竟這並沒有難度。甚至利用css的元素定義的方式就可以做到了。根本不需要跑js。

to 徐筱麗
其實看你最後的程式碼,就真的可以搖頭了。先說說你犯的毛病

1.id命令是不能重覆的。

2.function是定義函式,並不是運行。我上面的說明是「再多個 changecolor();」並不是「再多個 function changecolor();」

3.integer是一種參數類型的轉換。畢竟讀取元件值的預設大多是字串。字串比對的話「1」>「11」的喔。

其實從你後面寫來的程式,可以明白你真的是完全不知道html的基本是什麼。
想知道你是想要學習,還是只是要交作業。
如果是後者的話。我可以給你一段可以應用的程式碼。但我不會做說明。
想學習的話,去找找integer是什麼意思。該如何去做轉換。這一類的範例非常的多。
隨便用google找都有。
如果連這都還要問的話,那乾脆直接給你程式碼比較快了。
本篇文章回覆於2018-11-01 14:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

彩虹
檢舉此回應
to 星空:
了解∼
因為我看到你在 1F 的最後一行說:「這樣就因該可以運行了。」
怕發問者以為改好就能運行

to 發問者:
你只需要比對 “23” 這筆嗎?
如果之後是會有很多label,你甚至要使用到迴圈∼
有很多基礎要先自己補足一下,不然我再怎麼解釋你可能也聽不懂
本篇文章回覆於2018-11-01 14:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
修正一下我#7上面說的

「1.id命令是不能重覆的。」
要改成
「1.id命名是不能重覆的。」
本篇文章回覆於2018-11-01 15:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

想睡覺
檢舉此回應
徐筱麗 大大您好,關於您的問題 我也是javascript 新手
我上網google了一下 發現你的程式除了上述2位大大的改法後,還需要更改其它的
我一直都是用jquery javascript 可以說 不是很熟悉 所以花了一點時間做出來
相信你也可以的,google是最好的答案哦~

我把我用你的程式碼去測試了一下 有3點
提示1 : integer 是必要的 因為你的判斷 是數字 而非字串, 至於怎麼改 可以google搜尋 javascript 字串轉數字 相信會有你要的答案
提示2 : var ele = document.getElementById("daqi") ; 這樣是抓不到23的 你必需要去google上找 javscript div 文字 一樣也是會有你要的答案
提示3 : 你必需要再多一個變數名稱 存放你的23 才有辦法去比對接下來的判斷

以上見解 提供參考
本篇文章回覆於2018-11-02 16:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.