annamartina
New member
Hallo,
ich führe in einer .htm Seite verschiedene Buttons die verschiedene Seiten laden und dann die aktuelle mit der zu ladenden Seite ersetzen ( target="_self") sollen.
Gerne würde ich aber die Anweisung für die einzelnen Buttons so umschreiben, dass zuerst immer ganz nach oben geskrollt wird, indem vorab das beinhaltete smooth scrolling script ausgeführt und dann erst bei eingenommener Topposition die aktuelle Seite mit der zu ladenden Seite ersetzt wird.
Kann mir vielleicht jemand helfen, oder mir die hier dargestellte muster.htm Seite funktionsfähig ergänzen ( ich kenne mich kaum aus mit Javaskript ).
Danke im Voraus, Anna.
N.S. Die zu ladenden Seiten müssten zur Not aber auch erreichbar sein, falls im Browser die Funktion Javaskript ausgeschaltet ist.
ich führe in einer .htm Seite verschiedene Buttons die verschiedene Seiten laden und dann die aktuelle mit der zu ladenden Seite ersetzen ( target="_self") sollen.
Gerne würde ich aber die Anweisung für die einzelnen Buttons so umschreiben, dass zuerst immer ganz nach oben geskrollt wird, indem vorab das beinhaltete smooth scrolling script ausgeführt und dann erst bei eingenommener Topposition die aktuelle Seite mit der zu ladenden Seite ersetzt wird.
Kann mir vielleicht jemand helfen, oder mir die hier dargestellte muster.htm Seite funktionsfähig ergänzen ( ich kenne mich kaum aus mit Javaskript ).
Danke im Voraus, Anna.
N.S. Die zu ladenden Seiten müssten zur Not aber auch erreichbar sein, falls im Browser die Funktion Javaskript ausgeschaltet ist.
HTML:
<!DOCTYPE html>
</script>
<!--[if lt IE 8]><html lang="de" class="no-js ie7 oldie"><![endif]-->
<!--[if IE 8]><html lang="de" class="no-js ie8 oldie"><![endif]-->
<!--[if IE 9]><html lang="de" class="no-js ie9"><![endif]-->
<!--[if gt IE 9]><!--> <html lang="de" class="no-js"> <!--<![endif]-->
<!-- saved from url=(0014)about:internet -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>muster</title>
<!-- *********** skript für smooth scrolling anfang *********** -->
<script type="text/javascript"></script>
<script>
var ss = {
fixAllLinks: function () {
var allLinks = document.getElementsByTagName('a');
for (var i = 0; i < allLinks.length; i++) {
var lnk = allLinks[i];
if ((lnk.href && lnk.href.indexOf('#') != -1) && ((lnk.pathname == location.pathname) || ('/' + lnk.pathname == location.pathname)) && (lnk.search == location.search)) {
ss.addEvent(lnk, 'click', ss.smoothScroll);
}
}
},
smoothScroll: function (e) {
if (window.event) {
target = window.event.srcElement;
} else if (e) {
target = e.target;
} else return;
if (target.nodeName.toLowerCase() != 'a') {
target = target.parentNode;
}
if (target.nodeName.toLowerCase() != 'a') return;
anchor = target.hash.substr(1);
var allLinks = document.getElementsByTagName('a');
var destinationLink = null;
for (var i = 0; i < allLinks.length; i++) {
var lnk = allLinks[i];
if (lnk.name && (lnk.name == anchor)) {
destinationLink = lnk;
break;
}
}
if (!destinationLink) destinationLink = document.getElementById(anchor);
if (!destinationLink) return true;
var destx = destinationLink.offsetLeft;
var desty = destinationLink.offsetTop;
var thisNode = destinationLink;
while (thisNode.offsetParent && (thisNode.offsetParent != document.body)) {
thisNode = thisNode.offsetParent;
destx += thisNode.offsetLeft;
desty += thisNode.offsetTop;
}
clearInterval(ss.INTERVAL);
cypos = ss.getCurrentYPos();
ss_stepsize = parseInt((desty - cypos) / ss.STEPS);
ss.INTERVAL = setInterval('ss.scrollWindow(' + ss_stepsize + ',' + desty + ',"' + anchor + '")', 10);
if (window.event) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (e && e.preventDefault && e.stopPropagation) {
e.preventDefault();
e.stopPropagation();
}
},
scrollWindow: function (scramount, dest, anchor) {
wascypos = ss.getCurrentYPos();
isAbove = (wascypos < dest);
window.scrollTo(0, wascypos + scramount);
iscypos = ss.getCurrentYPos();
isAboveNow = (iscypos < dest);
if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
window.scrollTo(0, dest);
clearInterval(ss.INTERVAL);
location.hash = anchor;
}
},
getCurrentYPos: function () {
if (document.body && document.body.scrollTop) return document.body.scrollTop;
if (document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop;
if (window.pageYOffset) return window.pageYOffset;
return 0;
},
addEvent: function (elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
} else if (elm.attachEvent) {
var r = elm.attachEvent("on" + evType, fn);
return r;
} else {
alert("Handler could not be removed");
}
}
}
ss.STEPS = 38;
ss.addEvent(window, "load", ss.fixAllLinks);
</script>
<!-- *********** skript für smooth scrolling ende *********** -->
<style type="text/css">
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:active {
text-decoration: none;
}
</style>
</head>
<body>
<div align="center">
<a name="TOP"></a><a name="top_a"></a><a name="top_b"></a><a name="top_c"></a><a name="top_d"></a>
<table cellpadding="0" cellspacing="0" width="582" height="1197">
<!-- MSTableType="layout" -->
<tr>
<td height="516" style="border: 1px solid #D2737A" bgcolor="#D2737A" colspan="4">
</td>
</tr>
<tr>
<td height="30" style="border-left:1px solid #D2737A; border-right:1px solid #D2737A; line-height:100%; font-size:10pt; font-family:Arial; padding-bottom:4px" align="center" width="145">
<font color="#333333"><a href="#top_a">scrolle erst zu top_a<br>
dann lade seite_a</a></font></td>
<td height="30" style="border-left:1px solid #D2737A; border-right:1px solid #D2737A; line-height:100%; font-size:10pt; font-family:Arial; padding-bottom:4px" align="center" width="145">
<font color="#333333"><a href="#top_b">scrolle erst zu top_b<br>
dann lade seite_b</a></font></td>
<td height="30" style="border-left:1px solid #D2737A; border-right:1px solid #D2737A; line-height:100%; font-size:10pt; font-family:Arial; padding-bottom:4px" align="center" width="146">
<font color="#333333"><a href="#top_c">scrolle erst zu top_c<br>
dann lade seite_c</a></font></td>
<td height="30" style="border-left:1px solid #D2737A; border-right:1px solid #D2737A; line-height:100%; font-size:10pt; font-family:Arial; padding-bottom:4px" align="center" width="146">
<font color="#333333"><a href="#top_d">scrolle erst zu top_d<br>
dann lade seite_d</a></font></td>
</tr>
<tr>
<td height="621" style="padding:10px; border:1px solid #D2737A; font-size:12pt; font-family:Arial; line-height:110%" align="center" valign="top" colspan="4">
<p align="justify"><font color="#333333"><br>
Hallo,<br>
<br>
ich führe in einer .htm Seite verschiedene Buttons die verschiedene
Seiten laden und die aktuelle mit der zu ladenden Seite ersetzen
( target="_self") sollen.<br>
<br>
Gerne würde ich aber die Anweisung für die einzelnen Buttons so
umschreiben, dass zuerst immer ganz nach oben geskrollt wird, indem
vorab das beinhaltete smooth scrolling script ausgeführt und dann erst bei eingenommener
Topposition die aktuelle Seite mit der zu ladenden Seite ersetzt
wird.<br>
<br>
Kann mir vielleicht jemand helfen, oder mir die hier dargestellte
muster.htm Seite funktionsfähig ergänzen ( ich kenne mich kaum aus
mit Javaskript ).<br>
<br>
Danke im Voraus, Anna.<br>
<br>
N.S. Die zu ladenden Seiten müssten zur Not aber auch erreichbar
sein, falls im Browser die Funktion Javaskript ausgeschaltet ist.<br>
<br>
</font></td>
</tr>
<tr>
<td height="30" style="border-bottom:1px solid #D2737A; border-left:1px solid #D2737A; border-right:1px solid #D2737A; line-height:100%; font-size:10pt; font-family:Arial; padding-bottom:4px" align="center" width="698" colspan="4">
<font color="#333333"><a href="#TOP">TOP</a></font></td>
</tr>
</table>
</div>
</body>
</html>
<p align="center"><a name="UNT"></a></p>
Zuletzt bearbeitet von einem Moderator: