You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.3 KiB
90 lines
2.3 KiB
$(function () {
|
|
var $main = $('.main');
|
|
var $list = $('.talk_list');
|
|
var $drager = $('.drager');
|
|
var $mainh = $main.outerHeight(false);
|
|
var $listh = $list.outerHeight(false);
|
|
|
|
var $rate = $mainh / $listh;
|
|
var $dragh = $mainh * $rate;
|
|
var $top = 0;
|
|
$drager.css({ 'height': $dragh });
|
|
|
|
$drager.draggable({
|
|
containment: "parent",
|
|
drag: function (ev, ui) {
|
|
$top = ui.position.top;
|
|
$list.css({ 'top': -$top / $rate });
|
|
}
|
|
});
|
|
|
|
$(window).resize(function () {
|
|
resetui();
|
|
});
|
|
|
|
//var timer = null;
|
|
var flag = false;
|
|
|
|
$main.mousewheel(function(ev,delta){
|
|
//console.log(delta);
|
|
//clearTimeout(timer);
|
|
//timer = setTimeout(function(){
|
|
// 向上滚动正值,向下滚动负值
|
|
if(flag){
|
|
return;
|
|
}
|
|
|
|
flag = true;
|
|
|
|
setTimeout(function(){
|
|
flag = false;
|
|
},300);
|
|
|
|
if($listh <= $mainh){
|
|
return;
|
|
}else{
|
|
if(delta>0){
|
|
$top = $top-60;
|
|
if($top<0){
|
|
$top=0;
|
|
}
|
|
$drager.animate({ 'top': $top },200);
|
|
$list.animate({ 'top': -$top / $rate },200);
|
|
}else{
|
|
$top = $top+60;
|
|
if($top>($mainh-$dragh)){
|
|
$top=parseInt($mainh-$dragh);
|
|
}
|
|
$drager.animate({ 'top': $top },200);
|
|
$list.animate({ 'top': -parseInt($top / $rate) },200);
|
|
}
|
|
}
|
|
|
|
//},300);
|
|
});
|
|
if ($listh <= $mainh) {
|
|
$('.drag_bar').hide();
|
|
$('.drager').hide();
|
|
}
|
|
|
|
function resetui(){
|
|
$mainh = $main.outerHeight(false);
|
|
$listh = $list.outerHeight(false);
|
|
$rate = $mainh / $listh;
|
|
$dragh = $mainh * $rate;
|
|
$drager.css({ 'height': $dragh });
|
|
|
|
if ($listh <= $mainh) {
|
|
$('.drag_bar').hide();
|
|
$drager.hide();
|
|
$list.css({ 'top':0 });
|
|
} else {
|
|
$('.drag_bar').show();
|
|
$drager.show();
|
|
$drager.css({ 'top': $mainh-$dragh });
|
|
$list.css({ 'top': -($listh-$mainh) });
|
|
}
|
|
}
|
|
|
|
window.resetui = resetui;
|
|
}) |