Reputation: 3
I am making a simple wbsite that generates random quotes/facts when the user clicks a button. recently I tried to add links that will copy said quotes/facts into Facebook or Twitter, so that the user can share them. The thing is that the links do not seem to work and I have tried my best to figure out why, but am out if ideas. I would gladly apperciate some help
function clicked() {
//Her er banken med sitatene
let quotes = ["Test 1", "Test 2", "Test 3", ];
// Denne velger ut et tilfeldig sitat
let quotes_random = quotes[Math.floor(Math.random() * quotes.length)]; //let = quotes[Math.floor(Math.random() * quotes.length)];
// Denne omgjør det tilfeldige sitatet til HTML
document.getElementById("output").innerHTML = quotes_random; //document.getElementByID("output").innerHTML = quotes_random;
}
// Social media:
setShareLinks();
function socialWindow(url) {
var left = (screen.width - 570) / 2;
var top = (screen.height - 570) / 2;
var params = "menubar=no,toolbar=no,status=no,width=570,height=570,top=" + top + ",left=" + left;
window.open(url,"NewWindow",params);
}
function setShareLinks() {
var pageUrl = encodeURIComponent(document.URL);
var tweet = encodeURIComponent($("meta[property='og:description']").attr("content"));
$(".social-share.facebook").on("click", function() {
url = "https://www.facebook.com/sharer.php?u=" + pageUrl;
socialWindow(url);
});
$(".social-share.twitter").on("click", function() {
url = "https://twitter.com/intent/tweet?url=" + pageUrl + "&text=" + tweet;
socialWindow(url);
})
}
body {
background-image: url(media/90s_bakgrunn_til_nettside.jpg);
background-position: center;
}
#container {
height: 275px;
width: 750px;
margin: 0 auto;
border: 5px solid #673B90;
text-align: center;
background-color:#F5A01F;
position: relative;
top: 300px;
align-self: center;
}
#btn {
background-color: #fdfb76;
border: none;
outline: none;
margin: 50px auto;
height: 50px;
width: 250px;
font-size: 22px;
position: relative;
top: 250px;
align-self: center;
}
#btn:hover {
cursor: pointer;
cursor: hand;
background-color: #e10086;
}
#output {
margin: 25px auto;
font-size: 26px;
color: white;
text-align: center;
position: relative;
bottom: -120px;
align-self: center;
}
/* Social media*/
body {
width: 95%;
max-width: 700px;
font-family: tahoma, sans-serif;
font-size: 14px;
line-height: 1.4;
padding: 0 10px 20px 10px;
margin: 0 auto 0 auto;
}
h1 {
font-size: 24px;
text-align: center;
}
h1 span {
display: block;
font-size: 18px;
font-weight: normal;
}
.links li {
font-size: 16px;
text-align: center;
cursor: pointer;
cursor: hand;
color: yellow;
}
.links li:hover {
text-decoration: underline;
}
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width, initialscale=1">
<div class="links">
<ul>
<li class="social-share facebook">Facebook</li>
<li class="social-share twitter">Twitter</li>
</ul>
</div>
</head>
<body>
<div id="container">
<button onclick="clicked()" id="btn">Trykk her for et visdomord</button>
</div>
<p id="output">Generer et visdomsord ved å trykke på knappen</p>
<script src="main.js"></script>
Upvotes: 0
Views: 87
Reputation: 581
just add jquery
by:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
just in snippet not working. here the link of jsfiddle
function clicked() {
//Her er banken med sitatene
let quotes = ["Test 1", "Test 2", "Test 3", ];
// Denne velger ut et tilfeldig sitat
let quotes_random = quotes[Math.floor(Math.random() * quotes.length)]; //let = quotes[Math.floor(Math.random() * quotes.length)];
// Denne omgjør det tilfeldige sitatet til HTML
document.getElementById("output").innerHTML = quotes_random; //document.getElementByID("output").innerHTML = quotes_random;
}
// Social media:
setShareLinks();
function socialWindow(url) {
var left = (screen.width - 570) / 2;
var top = (screen.height - 570) / 2;
var params = "menubar=no,toolbar=no,status=no,width=570,height=570,top=" + top + ",left=" + left;
window.open(url,"NewWindow",params);
}
function setShareLinks() {
var pageUrl = encodeURIComponent(document.URL);
var tweet = encodeURIComponent($("meta[property='og:description']").attr("content"));
$(".facebook").on("click", function() {
url = "https://www.facebook.com/sharer.php?u=" + pageUrl;
socialWindow(url);
});
$(".twitter").on("click", function() {
url = "https://twitter.com/intent/tweet?url=" + pageUrl + "&text=" + tweet;
socialWindow(url);
})
}
body {
background-image: url(media/90s_bakgrunn_til_nettside.jpg);
background-position: center;
}
#container {
height: 275px;
width: 750px;
margin: 0 auto;
border: 5px solid #673B90;
text-align: center;
background-color:#F5A01F;
position: relative;
top: 300px;
align-self: center;
}
#btn {
background-color: #fdfb76;
border: none;
outline: none;
margin: 50px auto;
height: 50px;
width: 250px;
font-size: 22px;
position: relative;
top: 250px;
align-self: center;
}
#btn:hover {
cursor: pointer;
cursor: hand;
background-color: #e10086;
}
#output {
margin: 25px auto;
font-size: 26px;
color: white;
text-align: center;
position: relative;
bottom: -120px;
align-self: center;
}
/* Social media*/
body {
width: 95%;
max-width: 700px;
font-family: tahoma, sans-serif;
font-size: 14px;
line-height: 1.4;
padding: 0 10px 20px 10px;
margin: 0 auto 0 auto;
}
h1 {
font-size: 24px;
text-align: center;
}
h1 span {
display: block;
font-size: 18px;
font-weight: normal;
}
.links li {
font-size: 16px;
text-align: center;
cursor: pointer;
cursor: hand;
color: yellow;
}
.links li:hover {
text-decoration: underline;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width, initialscale=1">
<div class="links">
<ul>
<li class="social-share facebook">Facebook</li>
<li class="social-share twitter">Twitter</li>
</ul>
</div>
</head>
<body>
<div id="container">
<button onclick="clicked()" id="btn">Trykk her for et visdomord</button>
</div>
<p id="output">Generer et visdomsord ved å trykke på knappen</p>
<script src="main.js"></script>
Upvotes: 1