Related
I want to make a simple html site which have some paragraphs and a drop-down list. When the site is loaded I want all the paragraphs to be inserted in the drop-down list (the first 50 characters for each option). When I choose an option, I want the paragraph of the chosen option to be bold and the page to scroll there. So far, I only did this. Please help! I want only in javascript.
<script language="javascript">
function add()
{
var x = document.getElementById("myselect");
var pars = document.getElementsByTagName("P");
for (i=0; i<pars.length; i++)
{
pars[i].setAttribute("class", "all_pars");
pars[i].setAttribute("value", "all_pars" + i);
var y = document.getElementsByClassName("all_pars")[i].innerHTML;
var option = document.createElement("option");
option.text = y;
x.add(option);
}
}
function dothis()
{
//var w = document.getElementById("myselect").selectedIndex;
//w.scrollIntoView();
var x = document.getElementById("myselect");
var y = document.getElementById("myselect").options;
}
</script>
<!DOCTYPE html>
<html lang="el">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Εργαστήριο 10 άσκηση 3</title>
</head>
<body onload="add()">
<p>I am </p>
<p>I am a dog</p>
<p>I am a cat</p>
<p>I am a bird</p>
<p>I am </p>
<p>I am a dog</p>
<p>I am a cat</p>
<p>I am a bird</p>
<p>I am </p>
<p>I am a dog</p>
<p>I am a cat</p>
<p>I am a bird</p>
<select id="myselect" onchange="dothis()">
<option>1</option>
<option>2</option>
</select>
</body>
First, you want to find the good paragraph from your select. So you should find a way to link the paragraph to its select option.
for (i=0; i<pars.length; i++)
{
pars[i].setAttribute("class", "all_pars");
pars[i].setAttribute("id", "all_pars" + i);
var y = document.getElementsByClassName("all_pars")[i].innerHTML;
var option = document.createElement("option");
option.text = y.substring(0,50) + "..."; // Cutting the text in select to the first 50 characters
option.value = "all_pars" + i
x.add(option);
}
Here we go. We are now, rather than a value, choosing a id for each paragraph, and adding that id as a value to the linked select option. We are also cutting the paragraph down to 50 characters.
With this, it's easy to find the paragraph and change its style.
function dothis()
{
// Value indicating which paragraph should be chosen.
var y = document.getElementById("myselect").value;
var pars = document.getElementsByTagName("P");
for (i=0; i<pars.length; i++)
{
// Putting all paragraph to not-bold
pars[i].setAttribute("style", "font-weight: normal;");
}
document.getElementById(y).setAttribute("style", "font-weight: bold;"); // Putting our paragraph to bold
}
Now we have our text in bold when we select it. We just have to add anchor to each paragraph and change the location to the anchor when we select the paragraph. Here is the final code, with lorem ipsum as paragraphs.
function add()
{
var x = document.getElementById("myselect");
var pars = document.getElementsByTagName("P");
for (i=0; i<pars.length; i++)
{
pars[i].setAttribute("class", "all_pars");
pars[i].setAttribute("id", "all_pars" + i);
var y = document.getElementsByClassName("all_pars")[i].innerHTML;
var option = document.createElement("option");
option.text = y.substring(0,50) + "..."; // Cutting the text in select to the first 50 characters
option.value = "all_pars" + i
x.add(option);
// Add anchor to the paragraph
var newLink = document.createElement('a');
newLink.name = "all_pars" + i;
pars[i].appendChild(newLink);
}
pars[0].setAttribute("style", "font-weight: bold;");
}
function dothis()
{
var x = document.getElementById("myselect");
var y = document.getElementById("myselect").value; // Value indicating which paragraph should be chosen.
var pars = document.getElementsByTagName("P");
for (i=0; i<pars.length; i++)
{
pars[i].setAttribute("style", "font-weight: normal;"); // Putting all paragraph to not-bold
}
document.getElementById(y).setAttribute("style", "font-weight: bold;"); // Putting our paragraph to bold
window.location = '#' + y; // Jump to anchor
}
<!DOCTYPE html>
<html lang="el">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Εργαστήριο 10 άσκηση 3</title>
</head>
<body onload="add()">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tortor orci, euismod a ante et, iaculis malesuada nulla. Praesent pellentesque hendrerit urna, a posuere magna facilisis eu. Vestibulum iaculis fringilla orci, vel rutrum felis mollis eu. Proin pretium et nunc eget ullamcorper. Praesent vel nisi eleifend, facilisis sapien nec, malesuada diam. Phasellus nibh justo, auctor et suscipit eget, aliquam sed lacus. Etiam odio libero, convallis vitae ultricies ac, interdum ut dolor. Etiam ullamcorper orci a sem feugiat porttitor. Proin sit amet pellentesque velit, non molestie nisi. Morbi at pellentesque urna, eu ultrices sapien. Nulla bibendum, dui sit amet finibus mollis, ipsum lacus dictum elit, id luctus turpis ligula ut nisi.</p>
<p>Integer quis scelerisque turpis. Nam ornare erat sed nisi consequat tincidunt. Donec consectetur turpis dui. Quisque vel mi eget dolor volutpat scelerisque. Etiam sagittis justo tincidunt, posuere erat et, bibendum eros. Proin mattis lobortis purus in rutrum. Phasellus imperdiet ante nibh, ut maximus lacus facilisis et. Morbi non pretium est. Fusce a turpis auctor, cursus lectus at, hendrerit erat. Praesent sit amet lacus id risus ornare pharetra at at odio. Aliquam a vehicula orci.</p>
<p>Cras imperdiet orci quis est scelerisque, ac bibendum dui dapibus. Etiam ullamcorper elit vitae felis blandit mollis. Morbi est libero, feugiat at justo vitae, interdum interdum erat. Donec tincidunt nibh a sagittis imperdiet. Fusce in libero nec libero iaculis aliquet eget sit amet ante. Nulla velit diam, congue vitae malesuada quis, posuere eget leo. Pellentesque quis interdum turpis. Curabitur ut risus bibendum, finibus nibh ut, ultrices metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean at egestas ipsum, et lobortis quam. Etiam mattis arcu mollis porta molestie. Vestibulum sollicitudin ipsum mauris, ut efficitur elit bibendum in.</p>
<p>Integer sed vehicula est, vitae venenatis felis. Suspendisse nisl risus, convallis sit amet varius non, elementum eu dolor. Pellentesque sem erat, venenatis a justo id, dictum dapibus nisl. In accumsan dapibus elementum. Nunc viverra, nisl in rhoncus aliquam, turpis ligula aliquet mauris, at imperdiet quam diam at metus. Etiam et erat elit. Phasellus in tortor eu erat pulvinar facilisis.</p>
<p>Integer finibus, diam eget volutpat maximus, erat nunc suscipit nisi, et scelerisque augue ligula ultrices quam. Nulla eget ipsum tristique, bibendum mauris ac, sollicitudin quam. Quisque lacinia, sapien quis faucibus tincidunt, mi orci volutpat lorem, sed commodo quam sapien vehicula lectus. Aliquam pharetra felis ut arcu auctor, vitae rhoncus felis placerat. Pellentesque finibus sem vitae imperdiet pharetra. Quisque pulvinar viverra mauris sed accumsan. Mauris feugiat, eros vitae facilisis lobortis, ipsum neque gravida massa, at dictum mauris odio non odio. Integer nec leo urna. Pellentesque tempus lacus at elementum tincidunt. Sed cursus velit eros, nec placerat ante convallis at. Nullam sed dictum ex, a pretium lacus. Integer vitae pellentesque augue, vel efficitur tortor. Vivamus sit amet vestibulum nulla, eget porta ante. Integer sed nulla id eros pharetra dignissim. Sed orci massa, facilisis ac porttitor id, fermentum eu augue.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tortor orci, euismod a ante et, iaculis malesuada nulla. Praesent pellentesque hendrerit urna, a posuere magna facilisis eu. Vestibulum iaculis fringilla orci, vel rutrum felis mollis eu. Proin pretium et nunc eget ullamcorper. Praesent vel nisi eleifend, facilisis sapien nec, malesuada diam. Phasellus nibh justo, auctor et suscipit eget, aliquam sed lacus. Etiam odio libero, convallis vitae ultricies ac, interdum ut dolor. Etiam ullamcorper orci a sem feugiat porttitor. Proin sit amet pellentesque velit, non molestie nisi. Morbi at pellentesque urna, eu ultrices sapien. Nulla bibendum, dui sit amet finibus mollis, ipsum lacus dictum elit, id luctus turpis ligula ut nisi.</p>
<p>Integer quis scelerisque turpis. Nam ornare erat sed nisi consequat tincidunt. Donec consectetur turpis dui. Quisque vel mi eget dolor volutpat scelerisque. Etiam sagittis justo tincidunt, posuere erat et, bibendum eros. Proin mattis lobortis purus in rutrum. Phasellus imperdiet ante nibh, ut maximus lacus facilisis et. Morbi non pretium est. Fusce a turpis auctor, cursus lectus at, hendrerit erat. Praesent sit amet lacus id risus ornare pharetra at at odio. Aliquam a vehicula orci.</p>
<p>Cras imperdiet orci quis est scelerisque, ac bibendum dui dapibus. Etiam ullamcorper elit vitae felis blandit mollis. Morbi est libero, feugiat at justo vitae, interdum interdum erat. Donec tincidunt nibh a sagittis imperdiet. Fusce in libero nec libero iaculis aliquet eget sit amet ante. Nulla velit diam, congue vitae malesuada quis, posuere eget leo. Pellentesque quis interdum turpis. Curabitur ut risus bibendum, finibus nibh ut, ultrices metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean at egestas ipsum, et lobortis quam. Etiam mattis arcu mollis porta molestie. Vestibulum sollicitudin ipsum mauris, ut efficitur elit bibendum in.</p>
<p>Integer sed vehicula est, vitae venenatis felis. Suspendisse nisl risus, convallis sit amet varius non, elementum eu dolor. Pellentesque sem erat, venenatis a justo id, dictum dapibus nisl. In accumsan dapibus elementum. Nunc viverra, nisl in rhoncus aliquam, turpis ligula aliquet mauris, at imperdiet quam diam at metus. Etiam et erat elit. Phasellus in tortor eu erat pulvinar facilisis.</p>
<p>Duis viverra sollicitudin euismod. Maecenas rhoncus neque vel purus aliquam pellentesque. Praesent quis lobortis tellus. Ut sit amet tempor magna. Aliquam accumsan magna vel efficitur rutrum. Aliquam a leo quam. Quisque urna sem, finibus cursus vehicula sit amet, facilisis vitae metus. Proin commodo lorem in maximus posuere. Mauris vel eros cursus, blandit sapien et, ultrices lorem. Donec ultricies nisi at neque congue, eu dictum ipsum volutpat. Donec lacinia lacinia interdum. Nam at posuere neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum fermentum commodo eleifend. Nullam ut sem magna.</p>
<p>Cras interdum maximus rhoncus. Donec erat metus, vestibulum vitae rhoncus nec, egestas at nunc. Sed porta at nulla sed eleifend. Aliquam accumsan eros justo, at ornare dui aliquet eget. Phasellus posuere sapien eu nunc venenatis, molestie scelerisque lorem vestibulum. Proin eu porta augue, at tempus arcu. In vitae porta leo. Ut scelerisque turpis nec massa euismod, quis lobortis diam tempus. Proin elementum sed mauris in elementum. Proin convallis nulla lectus, nec pellentesque purus consectetur sit amet. Sed gravida condimentum nibh ac interdum.</p>
<p>Donec ut ligula at magna vehicula blandit vitae a justo. Aenean urna neque, egestas vitae velit ac, auctor gravida urna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed pulvinar ac erat a faucibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consectetur sagittis lacinia. Donec feugiat lacus eu est semper bibendum. Suspendisse nec ultrices neque, eu suscipit est. Curabitur semper est vitae arcu consequat suscipit. In hac habitasse platea dictumst. Vivamus pulvinar libero at arcu volutpat commodo at non sapien. Cras commodo erat sit amet blandit venenatis. Etiam tincidunt massa sit amet magna porttitor, aliquam egestas purus mollis. Aenean efficitur ante vitae augue gravida molestie.</p>
<p>Etiam tincidunt ipsum sit amet posuere tristique. Donec molestie sapien orci. Ut accumsan consequat nisi, eget mattis eros. Duis venenatis nunc id ipsum ultricies, cursus tincidunt sapien dignissim. Maecenas mattis eros nibh. Pellentesque in lorem turpis. Phasellus euismod, mi sit amet posuere tincidunt, mi turpis varius lectus, id molestie quam mi ut est. Duis vel dui bibendum, pellentesque lacus at, molestie felis. Nulla facilisi. Nunc augue dui, tempor non turpis in, accumsan cursus felis. Suspendisse nisl orci, consectetur id augue in, fermentum finibus erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum metus felis, tristique ut orci vel, posuere tincidunt tellus. Sed lacus augue, luctus a libero vel, molestie sollicitudin purus. Nam euismod tortor id venenatis ullamcorper.</p>
<p>Maecenas mattis sem id mauris commodo aliquam. Maecenas volutpat lectus dui, a vestibulum leo vehicula nec. Ut ac leo id odio bibendum imperdiet ut in lectus. Praesent nec felis at nibh maximus ullamcorper sed a turpis. Curabitur congue tincidunt bibendum. Fusce vulputate lorem eu massa aliquam vehicula. Suspendisse elementum justo ut venenatis tempor. Aliquam vel urna nec risus lacinia convallis consequat ut elit. Phasellus vel fringilla est. Vivamus a viverra tellus. Etiam gravida tempus turpis, eu finibus orci mollis at. Cras sit amet neque eu orci commodo ultrices.</p>
<p>Integer finibus, diam eget volutpat maximus, erat nunc suscipit nisi, et scelerisque augue ligula ultrices quam. Nulla eget ipsum tristique, bibendum mauris ac, sollicitudin quam. Quisque lacinia, sapien quis faucibus tincidunt, mi orci volutpat lorem, sed commodo quam sapien vehicula lectus. Aliquam pharetra felis ut arcu auctor, vitae rhoncus felis placerat. Pellentesque finibus sem vitae imperdiet pharetra. Quisque pulvinar viverra mauris sed accumsan. Mauris feugiat, eros vitae facilisis lobortis, ipsum neque gravida massa, at dictum mauris odio non odio. Integer nec leo urna. Pellentesque tempus lacus at elementum tincidunt. Sed cursus velit eros, nec placerat ante convallis at. Nullam sed dictum ex, a pretium lacus. Integer vitae pellentesque augue, vel efficitur tortor. Vivamus sit amet vestibulum nulla, eget porta ante. Integer sed nulla id eros pharetra dignissim. Sed orci massa, facilisis ac porttitor id, fermentum eu augue.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tortor orci, euismod a ante et, iaculis malesuada nulla. Praesent pellentesque hendrerit urna, a posuere magna facilisis eu. Vestibulum iaculis fringilla orci, vel rutrum felis mollis eu. Proin pretium et nunc eget ullamcorper. Praesent vel nisi eleifend, facilisis sapien nec, malesuada diam. Phasellus nibh justo, auctor et suscipit eget, aliquam sed lacus. Etiam odio libero, convallis vitae ultricies ac, interdum ut dolor. Etiam ullamcorper orci a sem feugiat porttitor. Proin sit amet pellentesque velit, non molestie nisi. Morbi at pellentesque urna, eu ultrices sapien. Nulla bibendum, dui sit amet finibus mollis, ipsum lacus dictum elit, id luctus turpis ligula ut nisi.</p>
<p>Integer quis scelerisque turpis. Nam ornare erat sed nisi consequat tincidunt. Donec consectetur turpis dui. Quisque vel mi eget dolor volutpat scelerisque. Etiam sagittis justo tincidunt, posuere erat et, bibendum eros. Proin mattis lobortis purus in rutrum. Phasellus imperdiet ante nibh, ut maximus lacus facilisis et. Morbi non pretium est. Fusce a turpis auctor, cursus lectus at, hendrerit erat. Praesent sit amet lacus id risus ornare pharetra at at odio. Aliquam a vehicula orci.</p>
<p>Cras imperdiet orci quis est scelerisque, ac bibendum dui dapibus. Etiam ullamcorper elit vitae felis blandit mollis. Morbi est libero, feugiat at justo vitae, interdum interdum erat. Donec tincidunt nibh a sagittis imperdiet. Fusce in libero nec libero iaculis aliquet eget sit amet ante. Nulla velit diam, congue vitae malesuada quis, posuere eget leo. Pellentesque quis interdum turpis. Curabitur ut risus bibendum, finibus nibh ut, ultrices metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean at egestas ipsum, et lobortis quam. Etiam mattis arcu mollis porta molestie. Vestibulum sollicitudin ipsum mauris, ut efficitur elit bibendum in.</p>
<p>Integer sed vehicula est, vitae venenatis felis. Suspendisse nisl risus, convallis sit amet varius non, elementum eu dolor. Pellentesque sem erat, venenatis a justo id, dictum dapibus nisl. In accumsan dapibus elementum. Nunc viverra, nisl in rhoncus aliquam, turpis ligula aliquet mauris, at imperdiet quam diam at metus. Etiam et erat elit. Phasellus in tortor eu erat pulvinar facilisis.</p>
<p>Duis viverra sollicitudin euismod. Maecenas rhoncus neque vel purus aliquam pellentesque. Praesent quis lobortis tellus. Ut sit amet tempor magna. Aliquam accumsan magna vel efficitur rutrum. Aliquam a leo quam. Quisque urna sem, finibus cursus vehicula sit amet, facilisis vitae metus. Proin commodo lorem in maximus posuere. Mauris vel eros cursus, blandit sapien et, ultrices lorem. Donec ultricies nisi at neque congue, eu dictum ipsum volutpat. Donec lacinia lacinia interdum. Nam at posuere neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum fermentum commodo eleifend. Nullam ut sem magna.</p>
<p>Cras interdum maximus rhoncus. Donec erat metus, vestibulum vitae rhoncus nec, egestas at nunc. Sed porta at nulla sed eleifend. Aliquam accumsan eros justo, at ornare dui aliquet eget. Phasellus posuere sapien eu nunc venenatis, molestie scelerisque lorem vestibulum. Proin eu porta augue, at tempus arcu. In vitae porta leo. Ut scelerisque turpis nec massa euismod, quis lobortis diam tempus. Proin elementum sed mauris in elementum. Proin convallis nulla lectus, nec pellentesque purus consectetur sit amet. Sed gravida condimentum nibh ac interdum.</p>
<p>Donec ut ligula at magna vehicula blandit vitae a justo. Aenean urna neque, egestas vitae velit ac, auctor gravida urna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed pulvinar ac erat a faucibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consectetur sagittis lacinia. Donec feugiat lacus eu est semper bibendum. Suspendisse nec ultrices neque, eu suscipit est. Curabitur semper est vitae arcu consequat suscipit. In hac habitasse platea dictumst. Vivamus pulvinar libero at arcu volutpat commodo at non sapien. Cras commodo erat sit amet blandit venenatis. Etiam tincidunt massa sit amet magna porttitor, aliquam egestas purus mollis. Aenean efficitur ante vitae augue gravida molestie.</p>
<p>Etiam tincidunt ipsum sit amet posuere tristique. Donec molestie sapien orci. Ut accumsan consequat nisi, eget mattis eros. Duis venenatis nunc id ipsum ultricies, cursus tincidunt sapien dignissim. Maecenas mattis eros nibh. Pellentesque in lorem turpis. Phasellus euismod, mi sit amet posuere tincidunt, mi turpis varius lectus, id molestie quam mi ut est. Duis vel dui bibendum, pellentesque lacus at, molestie felis. Nulla facilisi. Nunc augue dui, tempor non turpis in, accumsan cursus felis. Suspendisse nisl orci, consectetur id augue in, fermentum finibus erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum metus felis, tristique ut orci vel, posuere tincidunt tellus. Sed lacus augue, luctus a libero vel, molestie sollicitudin purus. Nam euismod tortor id venenatis ullamcorper.</p>
<p>Maecenas mattis sem id mauris commodo aliquam. Maecenas volutpat lectus dui, a vestibulum leo vehicula nec. Ut ac leo id odio bibendum imperdiet ut in lectus. Praesent nec felis at nibh maximus ullamcorper sed a turpis. Curabitur congue tincidunt bibendum. Fusce vulputate lorem eu massa aliquam vehicula. Suspendisse elementum justo ut venenatis tempor. Aliquam vel urna nec risus lacinia convallis consequat ut elit. Phasellus vel fringilla est. Vivamus a viverra tellus. Etiam gravida tempus turpis, eu finibus orci mollis at. Cras sit amet neque eu orci commodo ultrices.</p>
<p>Integer finibus, diam eget volutpat maximus, erat nunc suscipit nisi, et scelerisque augue ligula ultrices quam. Nulla eget ipsum tristique, bibendum mauris ac, sollicitudin quam. Quisque lacinia, sapien quis faucibus tincidunt, mi orci volutpat lorem, sed commodo quam sapien vehicula lectus. Aliquam pharetra felis ut arcu auctor, vitae rhoncus felis placerat. Pellentesque finibus sem vitae imperdiet pharetra. Quisque pulvinar viverra mauris sed accumsan. Mauris feugiat, eros vitae facilisis lobortis, ipsum neque gravida massa, at dictum mauris odio non odio. Integer nec leo urna. Pellentesque tempus lacus at elementum tincidunt. Sed cursus velit eros, nec placerat ante convallis at. Nullam sed dictum ex, a pretium lacus. Integer vitae pellentesque augue, vel efficitur tortor. Vivamus sit amet vestibulum nulla, eget porta ante. Integer sed nulla id eros pharetra dignissim. Sed orci massa, facilisis ac porttitor id, fermentum eu augue.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tortor orci, euismod a ante et, iaculis malesuada nulla. Praesent pellentesque hendrerit urna, a posuere magna facilisis eu. Vestibulum iaculis fringilla orci, vel rutrum felis mollis eu. Proin pretium et nunc eget ullamcorper. Praesent vel nisi eleifend, facilisis sapien nec, malesuada diam. Phasellus nibh justo, auctor et suscipit eget, aliquam sed lacus. Etiam odio libero, convallis vitae ultricies ac, interdum ut dolor. Etiam ullamcorper orci a sem feugiat porttitor. Proin sit amet pellentesque velit, non molestie nisi. Morbi at pellentesque urna, eu ultrices sapien. Nulla bibendum, dui sit amet finibus mollis, ipsum lacus dictum elit, id luctus turpis ligula ut nisi.</p>
<p>Integer quis scelerisque turpis. Nam ornare erat sed nisi consequat tincidunt. Donec consectetur turpis dui. Quisque vel mi eget dolor volutpat scelerisque. Etiam sagittis justo tincidunt, posuere erat et, bibendum eros. Proin mattis lobortis purus in rutrum. Phasellus imperdiet ante nibh, ut maximus lacus facilisis et. Morbi non pretium est. Fusce a turpis auctor, cursus lectus at, hendrerit erat. Praesent sit amet lacus id risus ornare pharetra at at odio. Aliquam a vehicula orci.</p>
<p>Cras imperdiet orci quis est scelerisque, ac bibendum dui dapibus. Etiam ullamcorper elit vitae felis blandit mollis. Morbi est libero, feugiat at justo vitae, interdum interdum erat. Donec tincidunt nibh a sagittis imperdiet. Fusce in libero nec libero iaculis aliquet eget sit amet ante. Nulla velit diam, congue vitae malesuada quis, posuere eget leo. Pellentesque quis interdum turpis. Curabitur ut risus bibendum, finibus nibh ut, ultrices metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean at egestas ipsum, et lobortis quam. Etiam mattis arcu mollis porta molestie. Vestibulum sollicitudin ipsum mauris, ut efficitur elit bibendum in.</p>
<p>Integer sed vehicula est, vitae venenatis felis. Suspendisse nisl risus, convallis sit amet varius non, elementum eu dolor. Pellentesque sem erat, venenatis a justo id, dictum dapibus nisl. In accumsan dapibus elementum. Nunc viverra, nisl in rhoncus aliquam, turpis ligula aliquet mauris, at imperdiet quam diam at metus. Etiam et erat elit. Phasellus in tortor eu erat pulvinar facilisis.</p>
<p>Duis viverra sollicitudin euismod. Maecenas rhoncus neque vel purus aliquam pellentesque. Praesent quis lobortis tellus. Ut sit amet tempor magna. Aliquam accumsan magna vel efficitur rutrum. Aliquam a leo quam. Quisque urna sem, finibus cursus vehicula sit amet, facilisis vitae metus. Proin commodo lorem in maximus posuere. Mauris vel eros cursus, blandit sapien et, ultrices lorem. Donec ultricies nisi at neque congue, eu dictum ipsum volutpat. Donec lacinia lacinia interdum. Nam at posuere neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum fermentum commodo eleifend. Nullam ut sem magna.</p>
<p>Cras interdum maximus rhoncus. Donec erat metus, vestibulum vitae rhoncus nec, egestas at nunc. Sed porta at nulla sed eleifend. Aliquam accumsan eros justo, at ornare dui aliquet eget. Phasellus posuere sapien eu nunc venenatis, molestie scelerisque lorem vestibulum. Proin eu porta augue, at tempus arcu. In vitae porta leo. Ut scelerisque turpis nec massa euismod, quis lobortis diam tempus. Proin elementum sed mauris in elementum. Proin convallis nulla lectus, nec pellentesque purus consectetur sit amet. Sed gravida condimentum nibh ac interdum.</p>
<p>Donec ut ligula at magna vehicula blandit vitae a justo. Aenean urna neque, egestas vitae velit ac, auctor gravida urna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed pulvinar ac erat a faucibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut consectetur sagittis lacinia. Donec feugiat lacus eu est semper bibendum. Suspendisse nec ultrices neque, eu suscipit est. Curabitur semper est vitae arcu consequat suscipit. In hac habitasse platea dictumst. Vivamus pulvinar libero at arcu volutpat commodo at non sapien. Cras commodo erat sit amet blandit venenatis. Etiam tincidunt massa sit amet magna porttitor, aliquam egestas purus mollis. Aenean efficitur ante vitae augue gravida molestie.</p>
<p>Etiam tincidunt ipsum sit amet posuere tristique. Donec molestie sapien orci. Ut accumsan consequat nisi, eget mattis eros. Duis venenatis nunc id ipsum ultricies, cursus tincidunt sapien dignissim. Maecenas mattis eros nibh. Pellentesque in lorem turpis. Phasellus euismod, mi sit amet posuere tincidunt, mi turpis varius lectus, id molestie quam mi ut est. Duis vel dui bibendum, pellentesque lacus at, molestie felis. Nulla facilisi. Nunc augue dui, tempor non turpis in, accumsan cursus felis. Suspendisse nisl orci, consectetur id augue in, fermentum finibus erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum metus felis, tristique ut orci vel, posuere tincidunt tellus. Sed lacus augue, luctus a libero vel, molestie sollicitudin purus. Nam euismod tortor id venenatis ullamcorper.</p>
<p>Maecenas mattis sem id mauris commodo aliquam. Maecenas volutpat lectus dui, a vestibulum leo vehicula nec. Ut ac leo id odio bibendum imperdiet ut in lectus. Praesent nec felis at nibh maximus ullamcorper sed a turpis. Curabitur congue tincidunt bibendum. Fusce vulputate lorem eu massa aliquam vehicula. Suspendisse elementum justo ut venenatis tempor. Aliquam vel urna nec risus lacinia convallis consequat ut elit. Phasellus vel fringilla est. Vivamus a viverra tellus. Etiam gravida tempus turpis, eu finibus orci mollis at. Cras sit amet neque eu orci commodo ultrices.</p>
<p>Integer finibus, diam eget volutpat maximus, erat nunc suscipit nisi, et scelerisque augue ligula ultrices quam. Nulla eget ipsum tristique, bibendum mauris ac, sollicitudin quam. Quisque lacinia, sapien quis faucibus tincidunt, mi orci volutpat lorem, sed commodo quam sapien vehicula lectus. Aliquam pharetra felis ut arcu auctor, vitae rhoncus felis placerat. Pellentesque finibus sem vitae imperdiet pharetra. Quisque pulvinar viverra mauris sed accumsan. Mauris feugiat, eros vitae facilisis lobortis, ipsum neque gravida massa, at dictum mauris odio non odio. Integer nec leo urna. Pellentesque tempus lacus at elementum tincidunt. Sed cursus velit eros, nec placerat ante convallis at. Nullam sed dictum ex, a pretium lacus. Integer vitae pellentesque augue, vel efficitur tortor. Vivamus sit amet vestibulum nulla, eget porta ante. Integer sed nulla id eros pharetra dignissim. Sed orci massa, facilisis ac porttitor id, fermentum eu augue.</p>
<select id="myselect" onchange="dothis()">
</select>
</body>
</html>
I'm in need to split HTML string for further processing by my side. I have a string that contains all the HTML.
My needs keeps only in split all of them in an array, mantaining the tags. It should be splitted by <p>
As my further searches, it's better to not use regular expressions for that, so I need to find a proper way to do it in javascript or jquery without using external libs.
What's the best way to do it.
If it would be to use regex, it would be something like this:
str.match(/<p(.)>.*?<\/h\1>/g);
HTML example:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus porttitor quam ut ullamcorper aliquam. Morbi in dapibus tellus. Phasellus lobortis ex sapien, nec malesuada ante vulputate blandit. Nullam lacinia neque mi, at iaculis ante condimentum sed. Sed luctus purus vel dictum posuere. Ut auctor lorem a <b>congue tincidunt</b>. Nulla ut ipsum libero. Aliquam erat volutpat. Donec gravida dui quis pulvinar molestie. Duis nec lacus sem. Mauris tellus nibh, tempus at mauris id, tempus eleifend libero. Nam laoreet congue suscipit. Duis sollicitudin ex eu elementum commodo.</p>
<p>Cras finibus imperdiet sapien, id sodales enim tempus sit amet. Vivamus ac ligula sagittis ante sollicitudin viverra. Pellentesque accumsan placerat massa, et aliquet purus commodo et. Aliquam molestie orci nec vehicula fermentum. In gravida ligula tempor dolor feugiat, vitae facilisis nisi facilisis. Vivamus sodales eros non vehicula scelerisque. Mauris suscipit vitae erat eu fermentum. Aenean pellentesque ut arcu consectetur malesuada. Aenean posuere ante sit amet nibh rhoncus mattis. Fusce at aliquam elit, sit amet ultrices purus. Quisque quis risus eleifend, commodo est auctor, tincidunt dui. Aliquam eros urna, tristique nec felis vel, varius eleifend nulla. Suspendisse vestibulum posuere felis in vestibulum. Nunc sit amet maximus libero. <i>Nulla placerat congue</i> lectus a ultrices.</p>
But since we shouldn't use it, how can I achieve this?
Thanks.
I need to call a wordpress plugin shortcode to a different html page, this html page is not in wordpress pages or posts.
I want to add the phpshortcode [<?php echo do_shortcode('[wpdreams_ajaxsearchlite]'); ?>] of search bar as a fixed header in my template
-i tried By Adding the php code to call in Html Page Below .
It does nothing, no output of any sort.
So how can I call wordpress plugin functions and their shortcodes to a html page file.
Thanks
---Html Template Below----
Project 1
https://fonts.googleapis.com/css?family=Lato:300,400' rel='stylesheet' type='text/css'>
<script type="text/javascript">
var currentIndex = 0;
var currentId = "camera";
var dragStarted = false;
$(document).ready(function() {
$(document).on("menuready",function(event){
$("html,body").css("background","#1abc9c");
console.log(event);
});
$(document).on("menudrag",function(event){
if(!dragStarted){
dragStarted = true;
$("#overlay").show();
$("#overlay").transition({
opacity : 1
},300);
}
});
$(document).on("menudragend",function(event){
var curr = eval("colors."+currentId);
$("#overlay").transition({
opacity : 0
},300,function(){
$("#overlay").hide();
dragStarted = false;
});
setTimeout(function(){
$(".ferromenu-controller,#nav li a").css("color",curr.background);
},250);
});
$("#nav").ferroMenu({
position : "left-center",
delay : 50,
rotation : 720,
margin : 20,
opened : true
});
});
var colors = {
"camera" : {
"background" : "#1abc9c",
"index" : 0
},
"user" : {
"background" : "#f39c12",
"index" : 1
},
"mapmarker" : {
"background" : "#e67e22",
"index" : 2
},
"music" : {
"background" : "#8e44ad",
"index" : 3
},
"commentalt" : {
"background" : "#34495e",
"index" : 4
},
"moon" : {
"background" : "#3498db",
"index" : 5
}
};
function goTo(id){
var obj = eval("colors."+id);
$("body").css("background",obj.background);
$(".ferromenu-controller,#nav li a").css("color",obj.background);
if(obj.index > currentIndex){
$(".active").addClass("off");
$(".active").transition({
scale : 0.1,
opacity : 0,
zIndex : 0
},600);
$("#"+currentId).removeClass("active");
$("#"+id).addClass("active");
$("section").addClass("hideScroll");
$("#"+id).transition({
scale : 3,
y : 0
},0,function(){
$("#"+id).removeClass("off");
$("#"+id).transition({
scale : 1,
opacity : 1,
zIndex : 2
},600,function(){
$("section").removeClass("hideScroll");
});
});
}else if(obj.index < currentIndex){
var oldElement = $(".active");
$(".active").addClass("off");
$(".active").transition({
scale : 3,
opacity : 0,
zIndex : 0
},600);
$("#"+currentId).removeClass("active");
$("#"+id).addClass("active");
$("section").addClass("hideScroll");
$("#"+id).transition({
scale : 0.1,
y : 0
},0,function(){
$("#"+id).removeClass("off");
$("#"+id).transition({
scale : 1,
opacity : 1,
zIndex : 2
},600,function(){
$(oldElement).transition({
y : -2000
},100,function(){
$("section").removeClass("hideScroll");
});
});
});
}
currentIndex = obj.index;
currentId = id;
}
</script>
</head>
<body>
<ul id="nav">
<li><i class="icon-camera"></i></li>
<li><i class="icon-user"></i></li>
<li><i class="icon-map-marker"></i></li>
<li><i class="icon-music"></i></li>
<li><i class="icon-comment-alt"></i></li>
<li><i class="icon-moon"></i></li>
</ul>
<section id="content">
<div id="overlay"></div>
<article id="camera" class="active">
<i class="icon-camera"></i>
<h1>Camera</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
<article id="user" class="off">
<i class="icon-user"></i>
<h1>User</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
<article id="mapmarker" class="off">
<i class="icon-map-marker"></i>
<h1>Marker</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
<article id="music" class="off">
<i class="icon-music"></i>
<h1>Music</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
<article id="commentalt" class="off">
<i class="icon-comment-alt"></i>
<h1>Comment</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
<article id="moon" class="off">
<i class="icon-moon"></i>
<h1>Moon</h1>
<div class="cnt">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nibh libero, tempor eget nunc eget, dapibus lacinia augue. Praesent ut feugiat sapien. Mauris facilisis varius urna vel ullamcorper. Donec a ipsum magna. In scelerisque enim dolor, sit amet fringilla magna ultricies in. In nulla nisi, ornare ut placerat vel, sollicitudin ut sem. Aliquam eleifend lectus a orci fermentum, a gravida lorem ornare. Etiam purus dui, dignissim vitae laoreet ut, elementum at orci. Duis vitae luctus tortor. Phasellus risus orci, pulvinar quis dignissim id, scelerisque quis metus. Nulla facilisi. Maecenas semper lorem id eros ultricies vestibulum. Sed dapibus laoreet scelerisque. Sed suscipit ante sit amet lacus ultrices, ut faucibus justo malesuada. Curabitur id tristique enim. Phasellus nec dapibus ipsum.
<br/><br/>
Sed in lectus aliquet, iaculis turpis ac, scelerisque ante. Nullam nec quam ac neque porttitor semper at eget neque. Maecenas auctor dolor felis, id tempus dui mollis in. Duis bibendum nunc augue, eu ornare dolor dapibus sed. In nec facilisis purus. Nulla at tincidunt velit. Quisque arcu lorem, pulvinar rutrum lectus vel, feugiat interdum ligula. Sed in placerat nisl, nec dictum risus. Curabitur eleifend commodo purus, quis tempor odio. Suspendisse ullamcorper augue sit amet urna varius aliquam. Morbi nibh dolor, sollicitudin in blandit id, tempus eget magna. Phasellus sem leo, luctus a tortor ac, auctor bibendum massa. Sed quis enim ultricies mi feugiat mattis eu nec nunc. Pellentesque consectetur risus vel adipiscing luctus. Vivamus iaculis gravida odio sit amet scelerisque. Phasellus nec nisi orci.
</div>
</article>
</section>
</body>
You don't want to run the short code. It's really impossible because shortcodes are meant to work with the WordPress CMS. The best thing to do is the following
Import the PHP file that the short code was created. Then use the function rather than the short code for the desired code within the HTML/PHP file you want.
Remember Once you leave the WordPress CMS shortcodes are virtually useless. Good luck.
change the file name to .php and do <?php require( '../wp-load.php' ); // if file is in your wp-contents folder then you can call your shirtcode this way <?php echo do_shortcode('[wpdreams_ajaxsearchlite]'); ?> in your .php file.
and you cant add php in your html, you have to change file extention to .php.
<?php
require( '../wp-load.php' );
echo do_shortcode('[wpdreams_ajaxsearchlite]');
?>
what is the best choice to create scrollTo function to every h2 on the page?
This is my code:
<h2>First Chapter</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu </p>
<h2>Second Chapter</h2>
<p>Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempu</p>
<h2>Third Chapter</h2>
<p> Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempus dui, viverra euismod purus mattis</p>
<h2>Fourth Chapter</h2>
<p>Aenean et mi in nisi pellentesque porttitor pellentesque nec felis. In hac habitasse platea dictumst. Integer euismod mollis metus, nec fermentum ligula suscipit id. Nunc vitae gravida magna. Sed ut urna nunc. Fusce eget fringilla nulla, sed congue odio. Cras bibendum nisi est, quis scelerisque nisl laoreet non. Curabitur mi nibh, hendrerit</p>
I have 4 chapters (on this page) and I want to make scrollTo function to every of them. But on other of 10 pages will any chapters. Is there (in Javascript or jQuery) any simple function on it?
Thanks.
I created a jsfiddle
Take a look. This might help you.
$('a[href*=#]:not([href=#])').click(function () {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') || location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
First Second Third Fourth
<h2 id="1">First Chapter</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu</p>
<h2 id="2">Second Chapter</h2>
<p>Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu</p>
<h2 id="3">Third Chapter</h2>
<p>Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempus dui, viverra euismod purus mattis Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu</p>
<h2 id="4">Fourth Chapter</h2>
<p>Aenean et mi in nisi pellentesque porttitor pellentesque nec felis. In hac habitasse platea dictumst. Integer euismod mollis metus, nec fermentum ligula suscipit id. Nunc vitae gravida magna. Sed ut urna nunc. Fusce eget fringilla nulla, sed congue odio. Cras bibendum nisi est, quis scelerisque nisl laoreet non. Curabitur mi nibh, hendrerit Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu</p>
HTML
<div id="toc"></div>
<h2>First Chapter</h2>
<p id=''>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu ante molestie dui vehicula finibus ac eget ante. Aliquam lacus mi,orci. Pellentesque nec lorem faucibus, tincidunt massa non, feugiat lacus. Pellentesque purus libero, efficitur ac finibus at, tincidunt vel ligula. Mauris consequat sit amet arcu in mollis. Quisque fermentum imperdiet justo dictum tempus. Curabitur elit tu </p>
<h2>Second Chapter</h2>
<p>Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempu</p>
<h2>Third Chapter</h2>
<p> Nam feugiat purus eu velit condimentum rhoncus. Proin pulvinar volutpat diam, id porta erat pharetra at. Mauris hendrerit nulla enim, et tempus urna placerat vitae. Integer ut ipsum tincidunt, sodales quam vitae, varius massa. Sed rhoncus arcu mi, in faucibus risus dictum vel. Cras id sollicitudin magna, quis tempor mi. In ultrices gravida quam, in scelerisque diam volutpat ac. Duis hendrerit tempus dui, viverra euismod purus mattis</p>
<h2>Fourth Chapter</h2>
<p>Aenean et mi in nisi pellentesque porttitor pellentesque nec felis. In hac habitasse platea dictumst. In</p>
JS
$('<p/>', {
'text': 'Table of contents'
}).appendTo('#toc');
$('<ol />').appendTo('#toc');
$('h2').each(
function(i,el) {
var $that = $(el),
text = $that.text(),
id = text.toLowerCase().replace(/\s+/,'-');
el.id = id;
var a = $('<a />', {
'href' : '#' + id,
'text' : text
}),
li = $('<li />').append(a).appendTo('#toc ol');
});
});
Example
I am trying to make a button that when clicked points to a specific section of a different page.
For example a user is on his profile page and clicks on "change personal information" button. He/She should be redirected to the settings page and the browser should scroll down (or land) where the "Change your Personal Information" section is (at the bottom of that page for example).
I use something similar in which it scrolls down to a section of the same page by using this js lines:
function goToByScroll(id){
// Removing "link" from the ID
id = id.replace("link", "");
// Scroll
$('html,body').animate({
scrollTop: $("#"+id).offset().top},
'slow');
}
which animates down to the section.
Can something like that be done? If so, tips to the right direction would be really appreciated.
Simply place this code in the document ready event handler.
You can get the hash value from the window object:
$(document).ready(function(){
var id = window.location.hash.replace('link', '');
$('html,body').animate({
scrollTop: $("#"+id).offset().top},
'slow');
});
As advised above you may scroll to id extracted from window.location, or you can simply red href-attribute of you <a> element.
$('.scroll-trigger').click(function(e) {
e.preventDefault();
var $that = $(this);
var target = $that.attr('href');
$('html,body').animate({
scrollTop: $(target).offset().top
}, 'slow');
});
#aboutRabbits {
color:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Go to Rabbits
<div id="content">
<div>
<p>Some nonsense text here</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
</div>
<div id="aboutRabbits">
<p>Rabbits are small mammals in the family Leporidae of the order Lagomorpha, found in several parts of the world. There are eight different genera in the family classified as rabbits, including the European rabbit (Oryctolagus cuniculus), cottontail rabbits (genus Sylvilagus; 13 species), and the Amami rabbit (Pentalagus furnessi, an endangered species on Amami Ōshima, Japan). There are many other species of rabbit, and these, along with pikas and hares, make up the order Lagomorpha. The male is called a buck and the female is a doe; a young rabbit is a kitten or kit.</p>
</div>
<div>
<p>Some nonsense text here</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum. Donec porttitor ligula eu dolor. Maecenas vitae nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.</p>
<p>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio. Proin tincidunt, velit vel porta elementum, magna diam molestie sapien, non aliquet massa pede eu diam.</p>
</div>
</div>
Step 1. Redirect to 'settings' page with div id in 'url'
Step 2. User url and get the div id from window.url using split().
Step 3. Use below function.
$(document).ready(function(){
var DivId = window.Url.split('#');
$('html,body').animate({
scrollTop: $("#"+DivID).offset().top},
'slow');
});