乐胖代购免代理版
// Set Global YAHOO
if (typeof YAHOO === "undefined") {
YAHOO = {};
}
if (typeof YAHOO.JP === "undefined") {
YAHOO.JP = {};
}
if (typeof YAHOO.JP.auc === "undefined") {
YAHOO.JP.auc = {};
}
if (typeof YAHOO.JP.auc.cre === "undefined") {
YAHOO.JP.auc.cre = {};
}
if (typeof YAHOO.JP.auc.cre.trouble === "undefined") {
YAHOO.JP.auc.cre.trouble = {};
}
//================
// openurl
//================
(function(){
YAHOO.JP.auc.cre.trouble.openurl = {
_CUSTOM:{},
set : function(obj){
//ddを閉じる
$("dl").addClass('close').removeClass('open');
//urlにアンカー#がついていれば#以降を取得
var ancId = location.hash.replace("#","");
if(ancId){
var targetId = $("#"+ ancId);
//アンカーの位置を取得
var pos = targetId.position();
var posTop = Math.floor(pos.top);
//アンカーの位置へスクロールする
$(window).scrollTop(posTop);
var indexDl = targetId.index("dl");
//var dlHeight = 0;
targetId.addClass('open').removeClass('close');
}
$('dt.expandTitle').click(function() {
if($(this).parent().attr("class") == "close"){
$(this).parent().addClass('open').removeClass('close');
}else{
$(this).parent().addClass('close').removeClass('open');
}
});
}, // set
show :function(){
}, // show
hide :function(){
} // hide
}
}());
//================
// anchScroll
//================
(function(){
YAHOO.JP.auc.cre.trouble.anchScroll = {
_CUSTOM:{},
set : function(target){
var _d = document;
var anchors =$(target);
var moving = false;
if (!anchors) { return false; }
function smoothScroll(a) {
if (moving) { return false; }
moving = true;
var tmp_href = $(a).attr("href");
if (_d.getElementById(a.rel.replace(/.*\#/, ""))) {
var e = _d.getElementById(a.rel.replace(/.*\#/, ""));
} else {
return;
}
//Move point
var endOffset = $(e).offset();
var end = endOffset.top;
//var end = e.offsetTop; //eがコンテンツ上部からどのくらい離れているか
var docHeight = _d.documentElement.scrollHeight; //コンテンツ全体の高さ
var winHeight = window.innerHeight || _d.documentElement.clientHeight;
//Current Point
var start = window.pageYOffset || _d.documentElement.scrollTop || _d.body.scrollTop || 0;
var flag = (end < start) ? "up" : "down";
function scrollMe(start, end, flag) {
setTimeout(
function() {
if (flag == "up" && start >= end) {
start = start - (start - end) / 10 - 1;
window.scrollTo(0, start);
scrollMe(start, end, flag);
} else if (flag == "down" && start <= end) {
start = start + (end - start) / 10 + 1;
window.scrollTo(0, start);
scrollMe(start, end, flag);
} else {
scrollTo(0, end);
moving = false;
}
return;
}
, 10
);
}
scrollMe(start, end, flag);
}
$(window).load(function() {
// windowがloadされた際に実行したいコードを記述します。
var len = anchors.length;
for (var i = 0; i < len; i++) {
anchors[i].rel = anchors[i].href;
anchors[i].onclick = function() { smoothScroll(this); };
}
});
} // set
};
}());
//================
// page anchor
//================
(function(){
YAHOO.JP.auc.cre.trouble.anchScrollOpen = {
_CUSTOM:{},
set : function(){
$("a").click(function(){
var href = $(this).attr("href");
if(href.indexOf("#") > -1){
//$("dl").addClass('close').removeClass('open');
$(href).addClass('open').removeClass('close');
}
});
} // set
}
}());
YAHOO.JP.auc.cre.trouble.anchScrollOpen.set();