diff --git a/estilos.css b/estilos.css index 6598a96..3f86da4 100644 --- a/estilos.css +++ b/estilos.css @@ -340,7 +340,7 @@ ul.miniaturas li span { #scroll-pane { float:left; - overflow: auto; + overflow: hidden; width: 50%; height:450px; position:relative; diff --git a/js/vertical.slider.js b/js/vertical.slider.js index d79f1bf..feb0f39 100644 --- a/js/vertical.slider.js +++ b/js/vertical.slider.js @@ -1,66 +1,67 @@ -$(function() { -//change the main div to overflow-hidden as we can use the slider now -$('#scroll-pane').css('overflow','hidden'); - -//compare the height of the scroll content to the scroll pane to see if we need a scrollbar -var difference = $('#scroll-content').height()-$('#scroll-pane').height();//eg it's 200px longer - -if(difference>0)//if the scrollbar is needed, set it up... -{ - var proportion = difference / $('#scroll-content').height();//eg 200px/500px - var handleHeight = Math.round((1-proportion)*$('#scroll-pane').height());//set the proportional height - round it to make sure everything adds up correctly later on - handleHeight -= handleHeight%2; - - $("#scroll-pane").after('<\div id="slider-wrap"><\div id="slider-vertical"><\/div><\/div>');//append the necessary divs so they're only there if needed - $("#slider-wrap").height($("#scroll-pane").height());//set the height of the slider bar to that of the scroll pane - - - //set up the slider - $('#slider-vertical').slider({ - orientation: 'vertical', - min: 0, - max: 100, - value: 100, - slide: function(event, ui) {//used so the content scrolls when the slider is dragged - var topValue = -((100-ui.value)*difference/100); - $('#scroll-content').css({top:topValue});//move the top up (negative value) by the percentage the slider has been moved times the difference in height - }, - change: function(event, ui) {//used so the content scrolls when the slider is changed by a click outside the handle or by the mousewheel - var topValue = -((100-ui.value)*difference/100); - $('#scroll-content').css({top:topValue});//move the top up (negative value) by the percentage the slider has been moved times the difference in height - } - }); - - //set the handle height and bottom margin so the middle of the handle is in line with the slider - $(".ui-slider-handle").css({height:handleHeight,'margin-bottom':-0.5*handleHeight}); - - var origSliderHeight = $("#slider-vertical").height();//read the original slider height - var sliderHeight = origSliderHeight - handleHeight ;//the height through which the handle can move needs to be the original height minus the handle height - var sliderMargin = (origSliderHeight - sliderHeight)*0.5;//so the slider needs to have both top and bottom margins equal to half the difference - $(".ui-slider").css({height:sliderHeight,'margin-top':sliderMargin});//set the slider height and margins - -}//end if - -$(".ui-slider").click(function(event){//stop any clicks on the slider propagating through to the code below - event.stopPropagation(); - }); - -$("#slider-wrap").click(function(event){//clicks on the wrap outside the slider range - var offsetTop = $(this).offset().top;//read the offset of the scroll pane - var clickValue = (event.pageY-offsetTop)*100/$(this).height();//find the click point, subtract the offset, and calculate percentage of the slider clicked - $("#slider-vertical").slider("value", 100-clickValue);//set the new value of the slider -}); - -//additional code for mousewheel -$("#scroll-pane,#slider-wrap").mousewheel(function(event, delta){ - var speed = 5; - var sliderVal = $("#slider-vertical").slider("value");//read current value of the slider - - sliderVal += (delta*speed);//increment the current value - - $("#slider-vertical").slider("value", sliderVal);//and set the new value of the slider - - event.preventDefault();//stop any default behaviour -}); - -}); \ No newline at end of file +//$(function() { +function scrollV() { +//change the main div to overflow-hidden as we can use the slider now +$('#scroll-pane').css('overflow','hidden'); + +//compare the height of the scroll content to the scroll pane to see if we need a scrollbar +var difference = $('#scroll-content').height()-$('#scroll-pane').height();//eg it's 200px longer + +if(difference>0)//if the scrollbar is needed, set it up... +{ + var proportion = difference / $('#scroll-content').height();//eg 200px/500px + var handleHeight = Math.round((1-proportion)*$('#scroll-pane').height());//set the proportional height - round it to make sure everything adds up correctly later on + handleHeight -= handleHeight%2; + + $("#scroll-pane").after('<\div id="slider-wrap"><\div id="slider-vertical"><\/div><\/div>');//append the necessary divs so they're only there if needed + $("#slider-wrap").height($("#scroll-pane").height());//set the height of the slider bar to that of the scroll pane + + + //set up the slider + $('#slider-vertical').slider({ + orientation: 'vertical', + min: 0, + max: 100, + value: 100, + slide: function(event, ui) {//used so the content scrolls when the slider is dragged + var topValue = -((100-ui.value)*difference/100); + $('#scroll-content').css({top:topValue});//move the top up (negative value) by the percentage the slider has been moved times the difference in height + }, + change: function(event, ui) {//used so the content scrolls when the slider is changed by a click outside the handle or by the mousewheel + var topValue = -((100-ui.value)*difference/100); + $('#scroll-content').css({top:topValue});//move the top up (negative value) by the percentage the slider has been moved times the difference in height + } + }); + + //set the handle height and bottom margin so the middle of the handle is in line with the slider + $(".ui-slider-handle").css({height:handleHeight,'margin-bottom':-0.5*handleHeight}); + + var origSliderHeight = $("#slider-vertical").height();//read the original slider height + var sliderHeight = origSliderHeight - handleHeight ;//the height through which the handle can move needs to be the original height minus the handle height + var sliderMargin = (origSliderHeight - sliderHeight)*0.5;//so the slider needs to have both top and bottom margins equal to half the difference + $(".ui-slider").css({height:sliderHeight,'margin-top':sliderMargin});//set the slider height and margins + +}//end if + +$(".ui-slider").click(function(event){//stop any clicks on the slider propagating through to the code below + event.stopPropagation(); + }); + +$("#slider-wrap").click(function(event){//clicks on the wrap outside the slider range + var offsetTop = $(this).offset().top;//read the offset of the scroll pane + var clickValue = (event.pageY-offsetTop)*100/$(this).height();//find the click point, subtract the offset, and calculate percentage of the slider clicked + $("#slider-vertical").slider("value", 100-clickValue);//set the new value of the slider +}); + +//additional code for mousewheel +$("#scroll-pane,#slider-wrap").mousewheel(function(event, delta){ + var speed = 5; + var sliderVal = $("#slider-vertical").slider("value");//read current value of the slider + + sliderVal += (delta*speed);//increment the current value + + $("#slider-vertical").slider("value", sliderVal);//and set the new value of the slider + + event.preventDefault();//stop any default behaviour +}); + +}; \ No newline at end of file diff --git a/prensa.php b/prensa.php index 8b43565..8251c85 100644 --- a/prensa.php +++ b/prensa.php @@ -8,7 +8,7 @@ - +