TOP

サイドバーを固定して視覚効果を高める...意味合いの記事

シリウスの新テンプレートで、従来からあるサイドバー固定スクリプトを入れ込んでも
うまく作動しない...

 

固定位置がずれる....上に行き過ぎる..横にはみ出しなどエラー全開模様...で、
何が何やら..

 

CSS指定という手順で進めても.パソコンの画面サイズ.では正常作動と確認できるものの
125%、もしくは以下にサイズを変更するとずれがみられる..
皆さん100%サイズで閲覧している分けでもありませんね

 

で、100%サイズで調整しても125%で確認すればずれが生じる....

 

そんな事情で、サポートに新テンプレートにうまく調整する手立てはないかとご要望が
ございましての記事追加となります...

 

 

作動の確認は、当サイトに取り付けておりますのでページスクロールしてください..
メニューが少ないと一番上から固定されますが、多くなるとある程度はスクロールに
応じて流れ...途中から固定開始します...

 

固定される範囲は、サイドバー巻末のフリースペース4、
もしフリースペースを使用しなければメニューの部分ラストから上...

 

フリースペースの最終高さ範囲は記事量により調節することができます..が、その起点は
巻末地点から上に向かい...パソコン画面に表示される範囲内とご理解ください..

 

丁度良い位置で固定されないと思ったらフリースペース内の記事量を増やすか、減らすで
調整...

 

 

?
取り付けたけど作動しないという一例...

 

パソコンで見える位置でいえば、記事の上から下までの長さが、サイドバー以下では
動きません...

 

あくまで、記事巻末がサイドバー以下にあることが確認条件..
(記事の長さ,,巻末がサイドバー下部より下にあること)

 

 

ただし、現行の作動状況はあなたのパソコン環境により確認できない
こともあります..

 

プレビューで不作動の際は、スクリプト読み込みを許可する..
もしくはアップロード以降のご確認と事前理解...

 


 

確認状況
あたし例

 

ノートパソコン
IE..chrome..Edge..トップ、カテゴリー、エントリーPですべて作動確認.

 

 

デカパソコン デスクトップワイド
IE..chrome..Edge..トップ、カテゴリー、エントリーPですべて作動確認.

 


 

重要
Googleアドセンスの広告を利用されている場合、固定するサイドバー内配置は規約違反
となり、提携を解除される危険がありますので、絶対サイドバー内の配置はおやめください..

 


 

では、導入手順へと進みます...

 


 

1..ファイルのダウンロード

 

以下をダウンロードしてサーバーにアップします
side-fixed.js

 


 

2..HTML記載 jqueryのご指摘..重要

 

トップTP...カテゴリ エントリー HTML..head内に以下を張り付けますが、最上部の
jquery/2.1.1/の数値を2.1.0 2.0.0 とテンプレートごとに変えてください...
すべて同じですとchrome eage ではカテゴリー、エントリーが不作動を確認..

 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="side-fixed.js"></script>
<script type="text/javascript">
$(window).load(function () {
var mainArea = $("#main");
var sideWrap = $("#sideWrap");
var sideArea = $("#side");

 

var wd = $(window);
var mainH = mainArea.height();
var sideH = sideWrap.height();

 

if(sideH < mainH) {

 

sideWrap.css({"height": mainH,"position": "relative"});
var sideOver = wd.height()-sideArea.height();
var starPoint = sideArea.offset().top + (-sideOver);
var breakPoint = sideArea.offset().top + mainH;
wd.scroll(function() {

 

if(wd.height() < sideArea.height()){
if(starPoint < wd.scrollTop() && wd.scrollTop() + wd.height() < breakPoint){
sideArea.css({"position": "fixed", "bottom": "20px"});

 

}else if(wd.scrollTop() + wd.height() >= breakPoint){
sideArea.css({"position": "absolute", "bottom": "0"});
} else {
sideArea.css("position", "static");
}

 

}else{

 

var sideBtm = wd.scrollTop() + sideArea.height();

 

if(mainArea.offset().top < wd.scrollTop() && sideBtm < breakPoint){
sideArea.css({"position": "fixed", "top": "20px"});

 

}else if(sideBtm >= breakPoint){
var fixedSide = mainH - sideH;

 

sideArea.css({"position": "absolute", "top": fixedSide});

 

} else {
sideArea.css("position", "static");
}
}
});
}
});
</script>

 


 

下方へ移動...divを追加する,,,例はトップHTMLですが、カテゴリー、エントリーも
以下に当てはめて追加する..

 

追加するコード

<div id="sideWrap">
<div id="side">

 

</div>
</div>

 

上コードを以下に書き足し例...原本と見比べて..

 

記載そのままコピーして張り替え....

<!-- ★メインメニューここから★ -->

 

<div id="menu">
<div id="sideWrap">
<div id="side">
<% freeSpace3 | tag_replace(h4,div class="title") | tag_insert_inner(div class="title",span) %>
<% pickupEntry %>
<% siteMenu2 | tag_insert_inner(h4,span) %>
<% subMenu | tag_insert_inner(h4,span) %>
<% freeSpace4 | tag_replace(h4,div class="title") | tag_insert_inner(div class="title",span) %>
</div>
</div>
</div>
<!-- ★メインメニューここまで★ -->

HTMLは、これで終わり


 

3..スタイルシートへ

 

ユーザー指定スタイル欄へ以下コードを張り付け

 

 

.body{text-align:center; margin:0; padding:0;}
#sideWrap{width:260px; float:right;position:relative;border-bottom:2px solid red;}

 

#side{width:260px; background:#FFF;}

 

#side p{color:#FFF;font-size:15px; border:1px solid #ccc;}

 

#footer{background:#FFF;padding:20px 0; height:100px;}

 

@media(max-width:768px){
#menu {
float: left;
width: 100%;
padding-top: 10px;
padding-bottom: 10px;
}

 

#rmenu {
float: left;
width: 100%;
padding-top: 10px;
padding-bottom: 10px;
}

 

#sideWrap{
width: 100%;
}

 

#side{
width: 100%;

 

}
}

 

これで、作動するはず?

 

以降、作動について気が付くことありましたら追記いたします


 

サイドバーのスクロールオフ.固定と解除指定方法
トップページ