Při vytváření stránky je velmi důležité zahrnout funkci sdílení, alespoň zkopírovat url s hashtagy nebo jinými sdílenými adresami URL, pokud jsou mimo hlavní adresu URL. Tentokrát chci vytvořit kopii tlačítka jako ta, kterou vytvořila bootstrap stránka, a bude vypadat takto
Vyžadovat
- Bootstrap; popis
- Javascripty; smyčky, logika atd
- Plugin Clipboard.js
Tlačítko Připravit
<div class="float-end bd-highlight">
<button type="button" url-site="http://example.org#event" class="btn btn-outline-secondary fw-light link-copy" data-bs-original-title="Copy Url"><i class="bi-share-fill"></i> Share</button>
</div>
V tlačítku je několik atributů a tříd, které je třeba vzít v úvahu, jako je data-bs-original-title="Copy Url"
atribut, který zobrazí popis popisku, site-url
atribut, který uloží adresu URL, která se má uložit. a link-copy
class, která bude použita jako třída tokenu pro aktivaci tooltipu.
Popis instalace
document.querySelectorAll('.link-copy').forEach(function(a){
var b=new bootstrap.Tooltip(a);
a.addEventListener('mouseleave', function(){
b.hide()}
)
// console.log(a.getAttribute('url-site'));
});
Skript vybere všechny položky s třídou link-copy
poté spustí funkci instalace tooltipu, která je nastavena tak, aby aktivovala tooltip pouze při najetí myší.
Spusťte soubor Clipboard.js
var d = new ClipboardJS('.link-copy',{
text:function(a){
return a.getAttribute('url-site')
}
});
d.on('success', function(a){
var b = bootstrap.Tooltip.getInstance(a.trigger);
a.trigger.setAttribute('data-bs-original-title','Copied!');
b.show();
a.trigger.setAttribute('data-bs-original-title','Copy Url');
a.clearSelection()
});
Nainstalovaná schránka zkopíruje popis z url-site
, věnujte pozornost text
popis ve skriptu. Po úspěšném zkopírování skript načte několik dalších akcí, které zahrnují popis popisku, který se změní po kliknutí spouštěče je výsledek Copied!
a vrátí se k výchozímu popisu, když nastane další spouštěč.
Hotovo