56261


<http://uu-hokkaido.cedars.jp/renewal.shtml>

こちらのサイトのメインビジュアルの北海道の地図の丸いピンクをクリックすると、

地図の周りの左右８個の要素が変化します。

例：

札幌〇クリック  
⇒函館〇クリック  
⇒人気観光スポット（左一番上）クリック  
⇒札幌の人気観光スポットのURLになってしまいます。（函館の人気観光スポットのURLへ飛びたいです。）

例えば、まず札幌の丸をクリックし、そのあと函館の丸をクリックしても、

地図の周りの左右８個の要素が変化しません。

函館を一番初めにクリックすると、ちゃんと地図の周りの左右８個の要素が函館のURLになってくれるのですが、  
２回目にクリックすると、地図の周りの左右８個の要素が１回目のままで変わってくれません。

地図の周りの左右８個の要素が、クリックされるたびに、クリックした地域に変更するには、どのようにすればよいでしょうか？

お分かりになる方いらっしゃいましたら、ご教授よろしくお願います。


CC BY-SA 4.0
2019-06-30T10:28:46.427
56260
2019-06-30T10:55:22.677
34913
question
javascript html css
２回目のクリックで要素が変化しない。


8 個の要素が奇妙な動作をする原因は、一度 `visibility` プロパティの値が一度 visible になった要素は、 **フォーカスが外れた状態でも
visible のまま**
であるためです。これを解決するためには、「北海道の地図の丸いピンク」をクリックしたときに「それ以外のピンクの項目をクリックしたときに出現する左右 8
個の要素」を非表示に戻さなければなりません。

これは恐らく、質問文ページ内に含まれている `show` 関数を以下のように修正することで、この問題は解決すると思います。

[code]

    function show(course) {
      document
        .querySelectorAll(".container_mainvisual > div[id]")
        .forEach(e => (e.style.visibility = "hidden"));
      document.getElementById(course).style.visibility = "visible";
    }
    
[/code]


CC BY-SA 4.0
2019-06-30T10:55:22.677
56261
2019-06-30T10:55:22.677
32986
56260
answer