Последни теми от форума

И аз много бих искал да разбера как може да се получи този ефект! Но едва ли ще разберем, защото от много време питам насам-натам и... нищо, никой не знае...
Благодаря, ако някой се смили да каже каква е тайната над скрипта!
 
Ей смирнов това го знам искам да се движи както на линка кадето съм го дал :
http://forums.data.bg/forum_scroll.php
 
big_boy каза:
Ей смирнов това го знам искам да се движи както на линка кадето съм го дал :
http://forums.data.bg/forum_scroll.php
То тва е джавичка бе пичове.
Вземете сорса на страницата и я
пренапишете за вашата :wink:
 
Код:
<script>
var pagewidth=700;
var partw=300; var parth=206;
var stylescript=800;
if (screen.width > 800) { pagewidth=880; partw=335; parth=223; stylescript=1024; }
if (screen.width >= 1280) { pagewidth=950; partw=370; parth=239; stylescript=1280; }
if (screen.width >= 2600) { pagewidth=1100; partw=445; parth=239; stylescript=1600; }
var LOOK = {
    'size' : [partw, parth],
    'up' : 'вашата снимка за нагоре',
    'dn' : 'вашата снимка за надолу',
    'clas' : { 'bck':'Back', 'aup':'ArrowUp', 'adn':'ArrowDn', 'itm':'ItemBody' }
    }
var BEHAVE = { 'auto' : false, 'vertical' : true, 'speed' : 4 }
var ITEMS = [ {
    'file' : страницата от която ще се взимат темите', 'content' : '',
    'pause_b' : 0, 'pause_a' : 0 } ]
document.write("<LINK href='стила на вашия sheet>");
</script>
<script language='javascript' src='http://im.data.bg/menu/js/overlib.js'></script>
<script>ol_bgcolor='#000000'; ol_fgcolor='#FFFDD'; ol_textfontclasses='stats'; ol_hauto=1; ol_vauto=1; ol_followmouse=0; ol_width=270;</script>
</head>
<body bgcolor='' text=''
 link='' vlink='' alink=''
 topmargin='0' marginwidth='0' marginheight='0' leftmargin='0' onLoad="init()"
 ><div id=mn style="visibility:hidden;position:absolute;top:0;left:0;width:100%"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="ItemBody" id=mnc></td></tr></table></div>
<script language="JavaScript">
function getElem(div) {
    return document.getElementById ? document.getElementById(div) : document.all[div];
}
var auto = BEHAVE.auto, vertical = BEHAVE.vertical,
items = ITEMS,
o_up = new Image(16,16), o_dn = new Image(16,16),
o_class = LOOK.clas,
//o_container = parent.document.getElementById ? parent.document.getElementById("forum") : parent.document.all["forum"],
w = LOOK.size[0], h = LOOK.size[1],
n_wheight = vertical ? h : w,
n_step = BEHAVE.speed != 0 ? BEHAVE.speed : 1,
n_interval = n_pos = n_cur = prior = 0, 
n_astep = Math.abs(n_step),
n_num = items.length;
main = getElem('mn');
o_cont = getElem('mnc');
//o_container.style.width = w + 'px';
//o_container.style.height = h + 'px';

if (!auto) {	
    o_up.src = LOOK.up; o_dn.src = LOOK.dn;
    document.write("<div id=aup class=" + o_class.aup + " style=position:absolute;z-index:1><img src=" + o_up.src + "></div><div id=adn class=" + o_class.adn + " style=position:absolute;z-index:1><img src=" + o_dn.src + "></div>");
    arrup = getElem("aup"); arrdn = getElem("adn");
}

// ------------------------------------------------------------
// initialize items array - waiting for each to load completely
// ------------------------------------------------------------
for (var i in items) {
    if (items[i].file) document.write("<iframe style=\"visibility:hidden\" height=0 width=0 src=\"" + items[i].file + "\"></iframe>")
    items[i].supply = supp;
}

function init(n_2measure) {
    var b_fl = true, e_frm, k = 0, i, main;
    main = getElem('mn');
    if (n_2measure != null) { items[n_2measure].height = vertical ? o_cont.offsetHeight : o_cont.offsetWidth; }
    for (i = n_num - 1; i >= 0; i--) if (!items[i].height) {
	if (items[i].content)	{
	    o_cont.innerHTML = items[i].content;
	    return setTimeout("init(" + i + ")", 100);
	} else
	    if (items[i].file) {	
		e_frm = window.frames[k++];
		if (e_frm.document.body) items[i].content = e_frm.document.body.innerHTML;
	    }
	    b_fl = false;
    }
    if (!b_fl) return setTimeout("init()", 100)
    main.style.visibility='visible';
    if (auto) move(0);
}

// user control methods assigning
var ajust = vertical ? function () { main.style.top = n_pos } : function () { main.style.left = n_pos }
if (auto) {	
    document.body.onmouseover = function () { stop(1); }
    document.body.onmouseout = function () { move(1); }
} else {
    arrup.onmouseover = function () { 
	n_step = -n_astep; move(1);
    }
    arrdn.onmouseover = function () { 
	n_step = n_astep; move(1);
    }
    arrdn.onmouseout = arrup.onmouseout = function () { 
	n_pos += n_step; stop(1);
    }
}

// internal control methods
function move(p) { 
    if (prior <= p && n_interval == 0) { prior = 0; n_interval = setInterval("roll()", 40); }
} 
function stop(p) { 
    if (prior < p) { prior = p; }
    if (n_interval != 0) { clearInterval(n_interval); n_interval = 0; }
}

function sleep(delay) { stop(0); setTimeout("move_s()", delay * 1000); }
function move_s() { n_pos -= n_step; ajust(); move(0) }
function supp () { o_cont.innerHTML = this.content; ajust(); }
function roll() {	
    var item = items[n_cur];
    if (n_pos > n_wheight) {
	item = items[n_cur = n_cur == 0 ? n_num - 1 : n_cur - 1]
	n_pos = -item.height; item.supply()
    }
    else if (n_pos < - item.height) {
	item = items[n_cur = n_cur == n_num - 1 ? 0 : n_cur + 1]
	n_pos = n_wheight; item.supply()
    }
    var delta = n_wheight - item.height
    if (item.pause_a > 0 && n_pos >= delta && n_pos < n_astep + delta) {
	n_pos = delta; ajust();
	return sleep (item.pause_a);
    }
    if (item.pause_b >= 0 && n_pos >= 0 && n_pos < n_astep) {
	n_pos = 0; ajust()
	return sleep (item.pause_b);
    }
//	parent.status = "n_pos "+n_pos+" "+item.height
    if (n_pos > 40 && n_step < 0) {
        item = items[n_cur = n_cur == 0 ? n_num - 1 : n_cur - 1]
        n_pos = -item.height + 50; item.supply()
    }
    if (n_pos < -item.height + 100 && n_step > 0) {
	item = items[n_cur = n_cur == 0 ? n_num - 1 : n_cur - 1]
	n_pos = 80; item.supply()
    }
    n_pos -= n_step;
    ajust();
}
</script>
 
porostorm каза:
Това върши ли Ви работа: http://roverclub-bg.com/last_topics_frame/ :roll:


Аххаа :?:
А, можеш ли да ни кажеш как може да го подкараме с последните теми от форум phpBB, моля?
 
Много просто моля :)

това го слагате м/у <head> и </head>
Код:
		<script type="text/javascript">
			var dest, speed=1;
			function scroll(destination) {
				if(mo) {
					dest=destination;
distance=parseInt(parent.frames.latest.document.getElementById('topics').style.top);
					if(dest=='down' && distance<=1) {
						distance+=speed;
						reset=false;
					}
					if(dest=='up' && distance>=-1) {
						distance-=speed;
						reset=false;
					}
					if(reset) {
						if(distance<-1) {
							distance=1;
						}
						if(distance>1) {
							distance=-1;
						}
						speed=1;		
					}
parent.frames.latest.document.getElementById('topics').style.top=distance+'px';
					setTimeout("scroll(dest)", 0);
			}	}
			function mwheel() {
				if(window.clipboardData && document.compatMode) {
					pos = parent.frames.latest.document.getElementById('topics').style.pixelTop;
					if(event.wheelDelta>0) pos+=1;
						else pos-=1;
					if(pos<=1&&pos>=-1)
parent.frames.latest.document.getElementById('topics').style.pixelTop = pos;
			}	}
		</script>
Замествате <body> с <body onmousewheel="mwheel()"> и слагате това м/у <body onmousewheel="mwheel()"> и </body>
Код:
<iframe name="latest" src="latest_topics.php" width="500" height="155" frameborder="0" scrolling="no" target="_blank"></iframe>
<img src="scroll-up.gif" alt="Нагоре" height="15" onMouseOver="mo=true; speed=1; scroll('down')" onMouseOut="mo=false; speed=1" onClick="speed++; reset=true">   <img src="scroll-down.gif" alt="Надолу" height="15" onMouseOver="mo=true; speed=1; scroll('up')" onMouseOut="mo=false; speed=1" onClick="speed++; reset=true">
]Създавате файл с име: latest_topics.php и м/у <head> и </hdead> пишете това:
Код:
<style>
			body, div {
				font-family: Verdana;
				font-size: 7pt;
				color: #808080;
				overflow: hidden;
			}
			#topics {
				position: absolute;
				height: 650px;
			}
			a:link {
				color: #050574;
				font-size: 8pt;
				text-decoration:none
			}
			a:visited {
				color: #336699;
				font-size: 8pt;
				text-decoration:none
			}
			a:hover {
				color: #ff8800;
				font-size: 8pt;
				text-decoration:underline
			}
		</style>
		<script>
			function mwheel() {
				if(window.clipboardData && document.compatMode) {
					pos = document.getElementById('topics').style.pixelTop;
					if(event.wheelDelta>0) pos+=12;
						else pos-=12;
					if(pos<=100&&pos>=-200)
document.getElementById('topics').style.pixelTop = pos;
			}	}
		</script>
Замествате <body> с <body leftmargin="20" onmousewheel="mwheel()"> и слагате това м/у <body leftmargin="20" onmousewheel="mwheel()"> и </body>
Код:
<div id="topics" style="top: 10px">
<?php

$user=""; //DB user
$pass=""; //DB pass
$db=""; //DB name
$address="forum"; //адрес на форума
$broi_temi="60"; // Колко последни теми да показва
$broi_bukvi="27"; //До колко букви от заглавието на темата да показва
$broi_bukvi2="33"; //До колко букви от заглавието на темата да показва категорията

mysql_connect(localhost,$user,$pass);
mysql_select_db($db) or die( "Unable to select database");
$query="SELECT c.topic_time , c.topic_last_post_id, c.topic_title,c.forum_id,c.topic_id, c.topic_replies, c.topic_views, c.topic_type,f.forum_name FROM phpbb_topics c, phpbb_forums f WHERE c.forum_id=f.forum_id and f.auth_view like '0' ORDER BY c.topic_last_post_id ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
$ii=$num-$broi_temi;

for ($i=$num-1; $i>$ii;$i--)
{
$tema=mysql_result($result,$i,"c.topic_title");
$id=mysql_result($result,$i,"c.forum_id");
$topic_broi=mysql_result($result,$i,"c.topic_replies");
$topic_id=mysql_result($result,$i,"c.topic_id");
$topic=mysql_result($result,$i,"c.topic_type");
$cat=mysql_result($result,$i,"f.forum_name");
$views=mysql_result($result,$i,"c.topic_views");

if (strlen($tema)>$broi_bukvi)
{$totchki='...';}
else
{$totchki='';}

$tema=substr($tema,0 , $broi_bukvi);
if 
(strlen($cat)>$broi_bukvi2)
{$totchki2='...';}
else
{$totchki2='';}
$cat=substr($cat,0 , $broi_bukvi2);
echo"» $cat$totchki2> <a class='gensmall' href='$address/viewtopic.php?t=$topic_id' target='_blank'>$tema$totchki ($topic_broi)</a><br />";
}
?> 
	</div>
scroll-up.gif
scroll-down.gif

Всичко файлове можете да изтеглите от ТУК.
 

Back
Горе