のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,833人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.121 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    801 : Name_Not - 2021/08/29(日) 04:18:28.46 ID:???.net (+51,+30,+0)
    802 : Name_Not - 2021/09/03(金) 21:02:01.45 ID:???.net (+21,-13,-49)
    ここでの質問なのかわからないですが
    アナリティクスなどで、訪問者のiPhoneのバージョンがわかるようにしたり、集計ってできますか?
    例えばiPhone12が○○アクセス、全体シェア○○%のように
    803 : Name_Not - 2021/09/03(金) 21:34:48.91 ID:???.net (+39,-29,-35)
    >>802
    GAならこっちで聞いた方がいいよ

    【アクセス解析】Google Analytics 8 [無断転載禁止]©2ch.net
    http://mevius.5ch.net/test/read.cgi/hp/1485660054/
    804 : Name_Not - 2021/09/03(金) 21:44:48.13 ID:???.net (+41,-30,-238)
    const $el = document.getElementById('hoge');
    let func = () => {
    console.log($el);
    }
    setInterval('func()',1000);

    としたところ、$elはnullになってしまいます。

    let func = () => {
    const $el = document.getElementById('hoge');
    console.log($el);
    }
    setInterval('func()',1000);

    とすれば$elには値が入りますが、setIntervalを実行する度にconstをセットするのが
    どうもスマートでないように思います

    JSの作法的に正しくて、スマートに書こうと思ったら
    どう改善したら良いでしょうか?
    805 : Name_Not - 2021/09/03(金) 21:48:29.24 ID:???.net (+62,+29,-1)
    >>803
    アリガトウゴザイマス!
    806 : Name_Not - 2021/09/03(金) 21:56:16.09 ID:???.net (-1,-30,-20)
    >>804
    setIntervalの気持ち悪い書き方を直すだけ
    setInterval(func,1000);
    807 : Name_Not - 2021/09/03(金) 22:07:25.41 ID:???.net (+57,+29,-6)
    スマートな書き方を聞くやつはスマートじゃないの法則
    808 : Name_Not - 2021/09/03(金) 22:10:45.15 ID:???.net (+63,+30,+0)
    809 : Name_Not - 2021/09/07(火) 05:43:43.55 ID:???.net (+16,-29,-22)
    Firefox のコンソールで 0/-2 など 0を-xで割ると -0と出るのですが
    プログラミングでは一般的なのでしょうか
    0と出てきて欲しいんですが
    810 : Name_Not - 2021/09/07(火) 06:06:08.37 ID:???.net (+3,-29,-4)
    >>809
    一般的とは?そんなものはない
    Object.is()で判定可能
    http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/is
    811 : Name_Not - 2021/09/07(火) 07:50:22.49 ID:???.net (+16,-13,-2)
    >>809
    >プログラミングでは一般的なのでしょうか

    そこそこ一般的
    812 : Name_Not - 2021/09/07(火) 09:51:01.19 ID:???.net (+57,+29,-7)
    ありがとうございます。
    よく考えれば今回は-0でも問題ありませんでしたのでそのまま処理しました。
    813 : Name_Not - 2021/09/10(金) 18:39:26.33 ID:???.net (+18,-14,-30)
    http://developer.mozilla.org/ja/docs/Web/JavaScript
    完全な初心者向け
    JavaScript ガイド
    中級者向け
    上級者向け
    リファレンス
    ツールとリソース
    814 : Name_Not - 2021/09/13(月) 12:36:49.23 ID:???.net (+3,-30,-221)
    <style>
    #test{
    filter:sepia(50%);
    }
    </style>

    <ul id="test">
    <li><img src="./img1.png"></li>
    <li><img src="./img2.png"></li>
    </ul>
    <input type="button" value="クリック" オンクリック="aaa()">

    <スクリプト>
    function aaa(){
    var elm_list = document.querySelectorAll("#test li");
    elm.list[1].style.filter = "sepia(0%)";
    elm_list[1].style.border="Solid 3px #0000ff";
    }
    </スクリプト>
    セピアを0にして画像を元の色にしたいんだけど色が変わりません
    borderの方は線が表示されたのでセレクタは正しいと思うけど
    どうしてでしょうか?どうすれば元の色にできますか?
    815 : Name_Not - 2021/09/13(月) 13:31:13.85 ID:???.net (+2,-29,-3)
    elm.list になってるからでは
    816 : Name_Not - 2021/09/13(月) 13:53:56.57 ID:???.net (-1,-29,-1)
    >>815
    elm_listでもできませんでした
    817 : Name_Not - 2021/09/13(月) 14:28:45.90 ID:???.net (+26,-30,-69)
    ulに対してsepia(50%)設定してるのにliを0%にしたところで変わらんよ
    見た目は子孫に影響するけど、プロパティ値は継承しないのでdisplayやopacityなんかと一緒で親の効果を上書きできるわけではないよ
    #test li {
    filter: sepia(50%);
    }
    818 : Name_Not - 2021/09/13(月) 18:38:27.91 ID:???.net (+48,+25,-16)
    スコープみたいなものですか?
    819 : Name_Not - 2021/09/14(火) 07:50:54.02 ID:???.net (+39,+13,+0)
    >>817
    なるほどー
    820 : Name_Not - 2021/09/14(火) 13:43:26.00 ID:???.net (+40,-30,-115)
    特定の要素から特定のイベントのイベントリスナーを削除することは可能でしょうか?
    関数への参照を保持していない状態です。

    具体的にはwindow.addEventListener("storage",function(){~})の形で登録されているようなものです。
    ピンポイントで上記だけ削除するのが難しいようであれば、window要素に紐づくstorageイベント全てを一括削除という形でも問題ないです。
    821 : Name_Not - 2021/09/14(火) 19:34:00.52 ID:???.net (+3,-30,-51)
    chromeはできるかわからないけど
    firefoxならublock originで
    yahoo.co.jp##+js(aeld, storage,/functionの中身を正規表現で/)
    でいけそうだけど
    822 : Name_Not - 2021/09/14(火) 20:32:24.79 ID:???.net (+66,-30,-11)
    >>820
    要素のイベントを全て削除
    elm.replaceWith(elm.cloneNode(true))
    windowはアキラメロン
    823 : Name_Not - 2021/09/14(火) 22:56:39.52 ID:???.net (-1,-29,-47)
    イベント登録前に割り込めるならEventTarget.prototype.addEventListenerあたりをフックするとか
    824 : Name_Not - 2021/09/15(水) 11:19:42.58 ID:???.net (+77,+29,-73)
    addEventListenerをフックするのが一番現実的なんですかね?

    しかし、要素に紐づくイベントリスナーや、管理している全てのイベントリスナーを出力するみたいな関数は存在しないんですね……
    ありそうなものだけど、というか無いならどこでどうやって管理してるんだろう……
    825 : Name_Not - 2021/09/15(水) 12:22:46.44 ID:???.net (+62,-9,-5)
    >>824
    普通は関数の参照をとっておく
    826 : Name_Not - 2021/09/15(水) 12:45:18.50 ID:???.net (+68,+28,-45)
    >>825
    自分で書く部分ならもちろんそうするんですが、Chromeの拡張で特定のページの邪魔な動作をシャットアウトしたいんですよね。
    827 : Name_Not - 2021/09/15(水) 16:46:22.85 ID:???.net (+62,+29,-39)
    X軸方向のスクロールを常に禁止にし、常にスクロールをゼロの位置にする事って可能でしょうか?
    cssでスクロールバーを出さない方法はありますが、要素が自由に動いてしまうのでスクロールしてしまう事が多々あります
    828 : Name_Not - 2021/09/15(水) 17:55:31.30 ID:???.net (+62,+29,-53)
    >>822 に一票
    クローンして差し替えることによりelmとその子孫のイベントリスナーが消え、その他の属性は残る
    829 : Name_Not - 2021/09/15(水) 19:03:27.68 ID:???.net (+57,+29,-6)
    スクレイピングすると地獄へ落ちるって本当ですか?
    830 : Name_Not - 2021/09/15(水) 19:21:25.96 ID:???.net (+42,-29,-17)
    >>826
    キャプチャリングフェーズでstopPropagation
    831 : Name_Not - 2021/09/16(木) 12:37:19.77 ID:???.net (+24,-30,-82)
    #test li{
    background:#0000ff;
    }
    #test li:hover{
    background:#00ff00;
    }
    というcssがある場合hoverのbackgroundを取得したいんだけど
    querySelectorAll("#test li:hover")とやっても取得できませんでした。
    どうやればいいんですか?
    832 : Name_Not - 2021/09/16(木) 14:04:33.43 ID:???.net (+34,+4,-2)
    取得しようとした部分を書いて
    833 : Name_Not - 2021/09/16(木) 14:47:41.06 ID:???.net (-2,-30,-19)
    :hoverはquerySelectorAllで取得できません
    ちなみにgetComputedStyle(element, ":hover")もできない
    834 : Name_Not - 2021/09/16(木) 15:15:39.66 ID:???.net (+57,+29,-17)
    どうやったらできるかを考えるのが、
    あなたたちの仕事です
    835 : Name_Not - 2021/09/16(木) 15:27:53.95 ID:???.net (+230,-29,-34)
    hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
    いまカーソルがのってるかを見たいなら
    mouseoverイベントか対象にtransition入れておいてtransitionのイベントを見ればいいんじゃないかな
    836 : Name_Not - 2021/09/16(木) 15:47:02.52 ID:???.net (+52,+29,-3)
    仕事と言われると対価が欲しくなる
    837 : Name_Not - 2021/09/16(木) 18:11:46.09 ID:???.net (+43,-30,-93)
    >>832
    <ul id="test">
    <li>aaa</li>
    <li>bbb</li>
    </ul>
    var element_list = document.querySelectorAll("#test li:hover");
    var st = getComputedStyle(element_list[0]);
    var val = st.getPropertyValue("background");
    alert(val);

    こうやっても取得できなかった
    他に方法はないんですかね
    838 : Name_Not - 2021/09/16(木) 18:30:00.02 ID:???.net (+96,-29,-14)
    >>837
    document.styleSheets
    839 : Name_Not - 2021/09/16(木) 18:36:24.59 ID:???.net (+46,+18,-22)
    クエリーセレクターにホバーは入れられないって言ってるだろ
    840 : Name_Not - 2021/09/16(木) 18:40:44.66 ID:???.net (+59,+30,+0)
    841 : Name_Not - 2021/09/16(木) 21:45:16.33 ID:???.net (+33,-30,-23)
    >>835
    それは
    var element = document.getElementById("test");
    element.styleということですか?
    842 : Name_Not - 2021/09/17(金) 06:20:01.48 ID:???.net (+0,-28,-15)
    jQuery には、hover 時のイベントがあるけど
    843 : Name_Not - 2021/09/17(金) 09:12:27.75 ID:???.net (+100,+21,-32)
    >>841
    >>835は意味不明
    style要素といってるから、まずはstyle要素でスタイルを定義するところからなんじゃない?
    844 : Name_Not - 2021/09/17(金) 12:36:55.97 ID:???.net (+43,-28,-5)
    >>843
    styleは>>831で定義してある
    845 : Name_Not - 2021/09/17(金) 12:48:54.07 ID:???.net (+5,-29,-49)
    >>844
    style要素だよな?
    link要素で外部CSS定義していたら、style要素に書き換える必要がある
    何のためにそんなことする?
    内容からCSS記述をパースさせるのか?
    846 : Name_Not - 2021/09/17(金) 17:57:46.99 ID:???.net (+15,-30,-44)
    >>845
    element.onmouseover = function(){
    element.style.background = cssのhoverから取得したbackground;
    }
    というふうにしたかった
    847 : Name_Not - 2021/09/17(金) 19:02:09.68 ID:???.net (+21,-14,-44)
    >>846
    それは「styleプロパティ」という
    >>835は「styleエレメント」といっていたから意味不明だった
    そして、styleプロパティでは>>831定義のCSSを取得出来ない
    848 : Name_Not - 2021/09/17(金) 19:23:45.68 ID:???.net (+119,-30,-49)
    >>Array.from(document.styleSheets).map(e=>Array.from(e.rules).map(e=>e.cssText).join()).join().includes(":hover")
    ←true
    849 : Name_Not - 2021/09/17(金) 19:36:12.39 ID:???.net (+45,+19,-1)
    >>838で既出やん
    850 : Name_Not - 2021/09/17(金) 19:44:13.42 ID:???.net (+43,+20,-1)
    取得できないって人がいたので
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について