Показать сообщение отдельно
  #19 (permalink)  
Старый 13.06.2011, 14:28
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

забыл логин и пароль на нем. пофигу

вот пример. убунту-стайл. прокрутка по наводке.
<style>
#wrapper {

     height : 100px;
     width: 200px;
     
}
#wrapper a {

    margin : 0;
    display:block;
    background-color: #555555;
    padding: 5px;

}
#wrapper ul {

   border: 1px red dashed;
   height : 100%;
   overflow-y: hidden;
   margin:0;

}



</style>


<div id="wrapper">

  
  <a class="up">UP</a>

      
       <ul>

                 
                 <span>
                              <li>1</li>
                              <li>2</li>
                              <li>3</li>
                              <li>4</li>             
                              <li>5</li>
                              <li>6</li>       
                              <li>7</li>
                              <li>8</li>       
                              <li>9</li>
                              <li>10</li>       
                              <li>11</li>
                              <li>12</li>       
                              <li>13</li>
                              <li>14</li>       
                              <li>15</li>
                              <li>16</li>       
                              <li>17</li>
                              <li>18</li>                
                 </span>
      </ul>

  
  <a class="down"> DOWN </a>

</div>

<script>
		
// элементы скролла	
var wrapper = document.getElementById('wrapper'),
    as		= document.getElementsByTagName( 'a' ),	// 0 - UP, 1 - DOWN
    ul 		= document.querySelector( 'ul' ),
    span 	= document.querySelector( 'span' ),

    need = (span.offsetHeight||span.scrollHeight) >  ul.offsetHeight, // если скролл есть, то true;

	val = 10; // будет прокручивать по 10 пикселей


//универсальная ф-я для стрелок.
function turn( el ){
	
	//вверх или вниз?
	var up = el.className==='up';

	ul.scrollTop = (up ? (ul.scrollTop - val) : (ul.scrollTop + val) ) 

	
}

// обработчик для стрелок
for(var i=0;i<2;i++)

 (function(i){
    
    // при наведении на стрелку будет прокрутка, с интервалом.
	as[i].onmouseover = function(){
		
		as[i].setAttribute('scid',setInterval( function(a){ turn(a); },50,as[i] ))
		
	}
	
	// когда уводят мышь со стрелки, прокрутка убирается
	as[i].onmouseout  = function(){
		
		clearInterval(as[i].getAttribute('scid'));as[i].removeAttribute('scid');
		
	}
	
})(i)


</script>
Ответить с цитированием