Hey,
Ik heb een probleempje met het volgende script. Deze functioneert fatsoenlijk in alle geteste browser behalve IE. Tenzij deze met compatibiliteit wordt uitgevoerd.
[js]
<script type="text/javascript">
var Settings = {
SNELHEID: 1,
AFBEELDINGEN: {
"../thumbs/images/Merken/merk1/": ["foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg"]
}
};
function main() {
var slider = insertSlider(document.body, Settings.AFBEELDINGEN);
/* Maybe do something more with slider? */
}
function insertSlider(parent, sources) {
var imgWrapper = _("div");
for (var dir in sources) {
for (var i = 0; i < sources[dir].length; i++) {
_("img", {src: dir + "/" + sources[dir]},
_("a", {href: "#"},
imgWrapper));
}
}
var kopieersnelheid = Settings.SNELHEID;
var slider = _("div", {className: "slider"},
parent);
var content = _("div", null,
slider);
opvullen(content, imgWrapper);
var t = setInterval(function() {
try {
schuiflinks(content.children, kopieersnelheid);
}
catch (e) {
clearTimeout(t);
alert("Error: " + e.message);
console.error(e);
}
}, 30);
return slider;
}
var _ = (function() {
function extend(obj, ext) {
for (var p in ext) {
if (typeof ext[p] === "object") {
extend(obj[p], ext[p]);
}
else {
obj[p] = ext[p];
}
}
}
function _(tag, attributes, parent) {
var el = document.createElement(tag);
if (attributes) extend(el, attributes);
if (parent) parent.appendChild(el);
return el;
}
return _;
})();
function opvullen(slider, content) {
slider.appendChild(content);
var n = Math.ceil(slider.clientWidth / 2 / content.clientWidth);
for (var i = 0; i < n; i++) {
var node = content.cloneNode(true);
node.style.left = (i + 1) * content.clientWidth + "px";
slider.appendChild(node);
}
}
function schuiflinks(nodeList, snelheid) {
var nodeWidth = nodeList[0].clientWidth;
for (var i = 0; i < nodeList.length; i++) {
var node = nodeList;
var left = parseInt(node.offsetLeft);
var newLeft = left - snelheid;
if (-nodeWidth < left) {
node.style.left = newLeft + "px";
}
else {
node.style.left = (newLeft + nodeList.length * nodeWidth) + "px";
}
}
}
window.onload = main;
</script>
[/js]
Is er iemand die dit kan verhelpen, of in ieder geval een eind in de richting kan helpen. Ben met dank aan deze fora al zover gekomen, wellicht dat het laatste stukje ook verholpen kan worden.
Ik heb een probleempje met het volgende script. Deze functioneert fatsoenlijk in alle geteste browser behalve IE. Tenzij deze met compatibiliteit wordt uitgevoerd.
[js]
<script type="text/javascript">
var Settings = {
SNELHEID: 1,
AFBEELDINGEN: {
"../thumbs/images/Merken/merk1/": ["foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg"]
}
};
function main() {
var slider = insertSlider(document.body, Settings.AFBEELDINGEN);
/* Maybe do something more with slider? */
}
function insertSlider(parent, sources) {
var imgWrapper = _("div");
for (var dir in sources) {
for (var i = 0; i < sources[dir].length; i++) {
_("img", {src: dir + "/" + sources[dir]},
_("a", {href: "#"},
imgWrapper));
}
}
var kopieersnelheid = Settings.SNELHEID;
var slider = _("div", {className: "slider"},
parent);
var content = _("div", null,
slider);
opvullen(content, imgWrapper);
var t = setInterval(function() {
try {
schuiflinks(content.children, kopieersnelheid);
}
catch (e) {
clearTimeout(t);
alert("Error: " + e.message);
console.error(e);
}
}, 30);
return slider;
}
var _ = (function() {
function extend(obj, ext) {
for (var p in ext) {
if (typeof ext[p] === "object") {
extend(obj[p], ext[p]);
}
else {
obj[p] = ext[p];
}
}
}
function _(tag, attributes, parent) {
var el = document.createElement(tag);
if (attributes) extend(el, attributes);
if (parent) parent.appendChild(el);
return el;
}
return _;
})();
function opvullen(slider, content) {
slider.appendChild(content);
var n = Math.ceil(slider.clientWidth / 2 / content.clientWidth);
for (var i = 0; i < n; i++) {
var node = content.cloneNode(true);
node.style.left = (i + 1) * content.clientWidth + "px";
slider.appendChild(node);
}
}
function schuiflinks(nodeList, snelheid) {
var nodeWidth = nodeList[0].clientWidth;
for (var i = 0; i < nodeList.length; i++) {
var node = nodeList;
var left = parseInt(node.offsetLeft);
var newLeft = left - snelheid;
if (-nodeWidth < left) {
node.style.left = newLeft + "px";
}
else {
node.style.left = (newLeft + nodeList.length * nodeWidth) + "px";
}
}
}
window.onload = main;
</script>
[/js]
Is er iemand die dit kan verhelpen, of in ieder geval een eind in de richting kan helpen. Ben met dank aan deze fora al zover gekomen, wellicht dat het laatste stukje ook verholpen kan worden.
Laatst bewerkt: