回答編集履歴

1 文章が抜けていたため追加Ctrl+Z

moredeep

moredeep score 1487

2017/06/14 09:35  投稿

なかなか惜しい感じになっていますね。
```
var tabno = $('ul.navi_wrap li#' + tabname).index();
```
変数tabnameにはタブ名(tabxx)ではなくボックス名(boxxx)が入っています。
よって、
```
var tabno = $('.box_wrap div#' + tabname).index();
```
と変更するか、タブ名(tabxx)を指定するように変更するかのどちらかを行います。
```
if($(hash).length){
```
ここに$()はいらないです。
うごく読み込み時と、タブクリック時で、同じ処理をしています。
動く動かないと関係ありませんが、読み込み時と、タブクリック時で、同じ処理をしています。
読み込み時のハッシュからタブを特定し、$(tab).click()でクリックイベントを飛ばしてやれば、行数を減らせます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る