パラメータ付きのURL取得してごにょごにょ


WordPressでアーカイブを年別で出して、
今見てるページの年をstay表示にしたかったわけで。
もう少し噛み砕くと、アーカイブが年別のリストで出てくるからそこにstay表示用のクラス追加してCSSで制御。

ついでに「一番最新の年のアーカイブをindexに表示しないといけない」ってゆう何とも面倒な。。。(ry

phpで色々試してみたんだけど、
DOM操作でやった方が早いと思われ急遽変更。

ちなみに取得したいURLがよくあるパラメータ付きのやつ。
例えば、「http://example.com/?m=201001」みたいな「?」のあるやつね。

ついでなので、phpでパラメータのURLを取得する方法メモ

$thisPage = ('http://'.$_SERVER["SERVER_NAME"].'/?'.$_SERVER["QUERY_STRING"]);

今回はjQuery使って、こんな感じ

var d = document;
j$(d).ready(function(){
	naviClass();
});
function naviClass(){
	var path = d.URL; //現在のURL取得
	var naviList = $("ul#Year > li > a"); //とりあえずaタグ入りのliタグ取得
	var listCnt = naviList.length; //んで、リストの数を数えて
	var aLink ;
	for(var i = 0 ; i < listCnt ; i++){
		aLink = naviList[i];
		if(path == aLink){ //現在のURLがアンカーと一致したら
			naviStay(i); //何個目か引数にしてこれ実行
		}else if(path == 'http://example.com/'){ //現在のURLがルートなら 
			naviLatest(0); //これ実行
			break;
		}
	}
}
function naviStay(t){
	var arr = $("ul#Year > li").map(function(){ //「ul#Year」の中のliを配列にして
		return $(this);														   
	});
	arr[t].addClass("stay"); //これでクラス追加
}
function naviLatest(t){
	$("ul#Year > li:first-child").addClass("stay"); //最新の年だったら普通に一番最初のliタグにクラス追加
}

うん。

WordPressネタはまた時間ある時にUP。

Posted in Web-tips by prolography at 1月 14th, 2010 .
Tags: , ,
海外現地オプショナルツアーなら【VELTRA(ベルトラ)】
ケンコーコム