<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hier findest du Sonstiges. Also alles und nichts – revilodesign.de</title>
	<atom:link href="https://www.revilodesign.de/blog/sonstiges/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.revilodesign.de/blog/sonstiges/</link>
	<description></description>
	<lastBuildDate>Tue, 24 Jun 2025 08:34:27 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>DNS:Net FRITZ!Box 7590 &#124; 7530 einrichten</title>
		<link>https://www.revilodesign.de/blog/sonstiges/dnsnet-fritzbox-7590-7530-einrichten/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/dnsnet-fritzbox-7590-7530-einrichten/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Wed, 27 Sep 2023 07:16:07 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=3344</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/dnsnet-fritzbox-7590-7530-einrichten/">DNS:Net FRITZ!Box 7590 | 7530 einrichten</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[	<section id="block_a7064dde03c0db37f2601ab51f717392" class="revilodesign revilodesign-text text section-1 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Ich stand vor kurzem vor der Frage &#8211; Wie kann ich mit <strong>DNS:Net meine FRITZ!Box 7590 einrichten</strong>. Hintergrund: Ich bin seit knapp 2 Jahren im Besitz einer FRITZ!Box 7590 und vor kurzem nach Brandenburg umgezogen. Dort gab es nur DNS Net mit gescheitem Internet und ich habe nicht eingesehen, dass ich mir eine neue FB für 5 Euro den Monat ausleihe. Also habe ich bei der Bestellung angegeben, dass ich gerne meine eigene Fritzbox konfigurieren möchte. Dies war gar nicht so einfach 😉 Und trotz des Vermerkes, dass der Anbieter keinen Support bei einer eigenen Fritzbox liefert muss ich sagen, dass sie mir am Telefon super geholfen haben. Dafür Daumen hoch.</p>
<p>
			<picture class="picture pixel aligncenter size-full wp-image-3373" data-image="3373">
				<source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-300x90.webp" type="image/webp" media="(max-width: 300px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-300x90.jpg" type="image/jpeg" media="(max-width: 300px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-150x150.webp" type="image/webp" media="(max-width: 150px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-150x150.jpg" type="image/jpeg" media="(max-width: 150px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-768x230.webp" type="image/webp" media="(max-width: 768px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-768x230.jpg" type="image/jpeg" media="(max-width: 768px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-400x120.webp" type="image/webp" media="(max-width: 400px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-400x120.jpg" type="image/jpeg" media="(max-width: 400px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-500x150.webp" type="image/webp" media="(max-width: 500px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-500x150.jpg" type="image/jpeg" media="(max-width: 500px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-600x180.webp" type="image/webp" media="(max-width: 600px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-600x180.jpg" type="image/jpeg" media="(max-width: 600px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-700x210.webp" type="image/webp" media="(max-width: 700px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-700x210.jpg" type="image/jpeg" media="(max-width: 700px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-800x240.webp" type="image/webp" media="(max-width: 800px)"><source srcset="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser-800x240.jpg" type="image/jpeg" media="(max-width: 800px)">
				<img fetchpriority="high" decoding="async" src="https://www.revilodesign.de/media/fritzbox-7590-7530-dnsnet-einrichten-glasfaser.webp" alt="fritzbox-7590-7530-dnsnet-einrichten-glasfaser.jpg" width="867" height="260" />
			</picture></p>
<h2>DNS Net und FRITZ!Box 7590 richtig konfigurieren &#8211; So geht&#8217;s</h2>
<p>Als erstes habe ich meine <a href="https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7590/3_Werkseinstellungen-der-FRITZ-Box-laden/" rel="noopener" target="_blank" title="AVM Fritzbox Werkseinstellung">Fritzbox auf Werkseinstellung</a> gesetzt, um eine &#8222;saubere&#8220; Basis zu haben. Nach dem Neustart habe ich den Assistenten abgebrochen um das Dashboard zu sehen.</p>
<h3>Nun zu den Software Einstellungen an meiner FritzBox 7590:</h3>
<p>Klicke auf Internet und anschließend auf Zugangsdaten:</p>
<ol>
<li>Internetanbieter: Wähle &#8222;weitere Anbieter&#8220; und dann &#8222;anderer Internetanbieter&#8220; aus und lasse das <u>Textfeld leer</u></li>
<li>Anschluss: Setze deinen Haken bei &#8222;Anschluss an externes Modem oder Router&#8220;</li>
<li>Betriebsart: Aktiviere die Option &#8222;Internetverbindung selbst aufbauen&#8220;</li>
<li>Bei den Zugangsdaten &#8222;Ja&#8220; auswählen und die Daten eingeben, die Ihr mit einem Brief erhalten habt dsl123@dnsnet und das Passwort.
<p><em>Tipp:</em> Falls du dir unsicher bist ob es sich um ein kleines l oder ein großes I oder 0 oder O handelt &#8211; gehe auf <a href="https://mein.dns-net.de/" rel="noopener" target="_blank" title="https://mein.dns-net.de/">mein.dns-net.de</a> und kopiere die Zugangsdaten von dort heraus.</li>
<li>Nun klicke auf den blauen Link &#8222;Verbindungseinstellungen ändern&#8220;, der die weiteren Einstellungen öffnet</li>
<li>Aktiviere die VLAN ID Einstellungen und gebe die <strong>VLAN-ID 37</strong> ein. PBit kann auf 0 bleiben.</li>
<li>Bei &#8222;Downstream&#8220; und &#8222;Upstream&#8220; bitte jeweils <strong>1000 MBit/s</strong> eintragen. Anders als in anderen Foren oder Anleitungen beschrieben wurde mir am Support gesagt, dass der Wert 1000, unabhängig der gebuchten Leistung, richtig sei.</li>
<li>Nun auf Übernehmen klicken und die Internetverbindung sollte sich hoffentlich aufbauen.</li>
</ol>
<blockquote>
<p>Die Einstellungsmöglichkeiten an der 7530 sind im Vergleich zur 7590 etwas ausgedünnter. Bitte nicht wundern, wenn Ihr vielleicht nicht alle Settings bei eurer 7530 seht.</p>
</blockquote>
<h3>Hardware Konfiguration an der FritzBox 7590 | 7530:</h3>
<ul>
<li><strong>FritzBox 7590</strong>: ONT LAN1 und an der FritzBox den blauen WAN Port nutzen</li>
<li><strong>FritzBox 7530</strong>: ONT LAN1 und an der FritzBox den LAN1 Port nutzen</li>
</ul>
<h2>Feedback zur Einrichtung eurer FRITZ!Box 7590</h2>
<p>Ich hoffe ich konnte euch bei der Einrichtung eurer FRITZ!Box 7590 mit dem Anbieter DNS:Net behilflich sein. Solltet ihr Fragen oder Feedback haben lasst es mich gerne wissen.</p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/dnsnet-fritzbox-7590-7530-einrichten/">DNS:Net FRITZ!Box 7590 | 7530 einrichten</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/dnsnet-fritzbox-7590-7530-einrichten/feed/</wfw:commentRss>
			<slash:comments>25</slash:comments>
		
		
			</item>
		<item>
		<title>jQuery Passwort Ansicht ändern &#8211; show/hide password</title>
		<link>https://www.revilodesign.de/blog/sonstiges/jquery-passwort-ansicht-aendern-show-hide-password/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/jquery-passwort-ansicht-aendern-show-hide-password/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Sun, 21 Mar 2021 17:40:04 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2654</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-passwort-ansicht-aendern-show-hide-password/">jQuery Passwort Ansicht ändern &#8211; show/hide password</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[

<section id="block_e2c7484ccab227db1f3b7293e1728a66" class="revilodesign demo">
	<div class="content">
				
					<div class="demo" style="max-height:156px; height:156px">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div class=&quotform-group&quot&gt;
	&lt;div class=&quotinput-group mb-2&quot&gt;
		&lt;input autocomplete=&quotoff&quot type=&quotpassword&quot name=&quotpassword&quot class=&quotform-control&quot id=&quotpassword&quot placeholder=&quotpassword&quot value=&quothey_i'm_a_secret_password_:)&quot&gt;
		&lt;div class=&quotinput-group-append&quot&gt;
			&lt;div id=&quottogglePasswort&quot class=&quotinput-group-text&quot&gt;
				&lt;i class=&quotfa-solid fa-eye-slash&quot&gt;&lt;/i&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">if ( jQuery('div#togglePasswort').length ) {
	jQuery('div#togglePasswort').on('click', function() {
		var type	=	jQuery(this).closest('div.form-group').find('input').attr('type');
		if ( type == 'password' ) {
			jQuery(this).closest('div.form-group').find('input').attr('type', 'text');
		} else {
			jQuery(this).closest('div.form-group').find('input').attr('type', 'password');
		}
		jQuery(this).find('i').toggleClass('fa-eye-slash fa-eye');
	});
}</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">.form-group {
	padding: 24px;
}
.input-group {
	display: flex;
	flex-wrap: nowrap;
	align-content: stretch;
	align-items: stretch;
}
.input-group-append {
	margin-left: auto;
	background: #eee;
	width: 48px;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	cursor: pointer;
}
.input-group-append:hover {
	background: #5dd39e;
	color: #fff;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>.form-group {
	padding: 24px;
}
.input-group {
	display: flex;
	flex-wrap: nowrap;
	align-content: stretch;
	align-items: stretch;
}
.input-group-append {
	margin-left: auto;
	background: #eee;
	width: 48px;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	cursor: pointer;
}
.input-group-append:hover {
	background: #5dd39e;
	color: #fff;
}</style>						<div class="form-group">
	<div class="input-group mb-2">
		<input autocomplete="off" type="password" name="password" class="form-control" id="password" placeholder="password" value="hey_i'm_a_secret_password_:)">
		<div class="input-group-append">
			<div id="togglePasswort" class="input-group-text">
				<i class="fa-solid fa-eye-slash"></i>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_a27a4be5988e7d1bb273d2e1e66946b4" class="revilodesign code">
	<div class="content">
		<h2>So geht's: Passwort anzeigen und verstecken mit Bootstrap</h2>
<p>Für eines meiner Projekte habe ich ein Admin Dashboard gebaut. Gerade da bietet sich Bootstrap an, da man sich voll und ganz auf die Backend Programierung konzentrieren muss, während das Frontend schnell, aber schön gemacht ist.</p>
<p>Zunächst einmal brauchen wir eine Klasse mit der ID <code>togglePasswort</code>. Mit Klick auf dieses Element wollen wir das Passwort in Klartext anzeigen lassen und auch wieder verstecken. In meinem Beispiel nutze ich die <a href="https://fontawesome.com/" target="_blank">Icons von Fontawesome</a>.</p>
		<div id="code-block_a27a4be5988e7d1bb273d2e1e66946b4" class="codeblock">
			<div class="code-language">php</div>
			<pre>
				<code class="language-php">&lt;div class=&quotform-group&quot&gt;
	&lt;div class=&quotinput-group mb-2&quot&gt;
		&lt;input autocomplete=&quotoff&quot type=&quotpassword&quot name=&quotpassword&quot class=&quotform-control&quot id=&quotpassword&quot placeholder=&quotpassword&quot value=&quothey_i'm_a_secret_passwort_:)&quot&gt;
		&lt;div class=&quotinput-group-append&quot&gt;
			&lt;div id=&quottogglePasswort&quot class=&quotinput-group-text&quot&gt;
				&lt;i class=&quotfa fa-eye-slash&quot aria-hidden=&quottrue&quot&gt;&lt;/i&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_690224f0ae2c12cb88d994b61ae425f2" class="revilodesign code">
	<div class="content">
		<p>Das war's auch schon. Hier findet ihr auch weitere <a title="Form Beispiele von Bootstrap" href="https://getbootstrap.com/docs/4.0/components/forms/#inline-forms" rel="noopener" target="_blank">Form Beispiele von Bootstrap</a>.</p>
<h2>Mit jQuery passiert die Magie</h2>
<p>Nun benötigen wir noch ein paar Zeilen JS-Code. Bevor sie erst einmal durchlaufen werden, prüfen wir, ob es das Element <code>div#togglePasswort</code> überhaupt existiert. Wenn ja, dann können wir mit einem Klick auf das Element den Type des Input-Feldes ermitteln. Ist der Type <code>password</code>, dann tauschen wir es mit dem Type-Attribut <code>text</code>. Und wenn das Type-Attribut <code>text</code> ist natürlich mit <code>password</code>.</p>
<p>Damit sich beim Klick auf das Element auch das Auge-Icon ändert, toogeln wir Klassen <code>fa-eye-slash</code> mit <code>fa-eye</code>. So sieht der User auch, das etwas passiert. Etwas fürs "Auge" quasi 🙂</p>
		<div id="code-block_690224f0ae2c12cb88d994b61ae425f2" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">if ( jQuery('div#togglePasswort').length ) {
	jQuery('div#togglePasswort').on('click', function() {
		var type	=	jQuery(this).closest('div.form-group').find('input').attr('type');
		if ( type == 'password' ) {
			jQuery(this).closest('div.form-group').find('input').attr('type', 'text');
		} else {
			jQuery(this).closest('div.form-group').find('input').attr('type', 'password');
		}
		jQuery(this).find('i').toggleClass('fa-eye-slash fa-eye');
	});
}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-passwort-ansicht-aendern-show-hide-password/">jQuery Passwort Ansicht ändern &#8211; show/hide password</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/jquery-passwort-ansicht-aendern-show-hide-password/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Mit jQuery Tabelle sortieren</title>
		<link>https://www.revilodesign.de/blog/sonstiges/mit-jquery-tabelle-sortieren/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/mit-jquery-tabelle-sortieren/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Tue, 07 Apr 2020 06:32:12 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2411</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mit-jquery-tabelle-sortieren/">Mit jQuery Tabelle sortieren</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section id="block_02de85796a361710974bf0cdfd5ebccb" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><p>In diesem Tutorial möchte ich euch zeigen, wie ihr <strong>mit jQuery Tabellen sortieren</strong> könnt. Tabellen sortieren ist immer dann nützlich, wenn man nach Werten wie Name, Temperatur, Alter, Größe oder anderen Fakten sortieren kann. So kann man dem Besuch einer Webseite für den Besucher noch interaktiver gestalten.</p>
<h2>Tabelle mit jQuery sortieren &#8211; Example</h2>
</article>		
					<div class="demo" style="max-height:370px; height:370px">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div class=&quottableWrapper&quot&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th class=&quotorder&quot&gt;Vorname&lt;/th&gt;
                &lt;th class=&quotorder&quot&gt;Name&lt;/th&gt;
                &lt;th class=&quotorder&quot&gt;Alter&lt;/th&gt;
                &lt;th class=&quotorder&quot&gt;Größe&lt;/th&gt;
                &lt;th class=&quotorder&quot&gt;Geschlecht&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;Max&lt;/td&gt;
                &lt;td&gt;Müller&lt;/td&gt;
                &lt;td&gt;22&lt;/td&gt;
                &lt;td&gt;1,78&lt;/td&gt;
                &lt;td&gt;männlich&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;Lisa&lt;/td&gt;
                &lt;td&gt;Musterfrau&lt;/td&gt;
                &lt;td&gt;21&lt;/td&gt;
                &lt;td&gt;1,64&lt;/td&gt;
                &lt;td&gt;weiblich&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;Oliver&lt;/td&gt;
                &lt;td&gt;Götze&lt;/td&gt;
                &lt;td&gt;31&lt;/td&gt;
                &lt;td&gt;1,77&lt;/td&gt;
                &lt;td&gt;männlich&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;Mohammed&lt;/td&gt;
                &lt;td&gt;Ali&lt;/td&gt;
                &lt;td&gt;30&lt;/td&gt;
                &lt;td&gt;1,98&lt;/td&gt;
                &lt;td&gt;männlich&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery('th.order').on('click', function() {
	// add active class
	if ( !jQuery(this).hasClass('active') ) {
		jQuery('th.order').removeClass('active').removeClass('desc').removeClass('asc');
		jQuery(this).addClass('active');
	}
	
	// Add ASC or DESC
	if ( jQuery(this).hasClass('desc') ) {
		jQuery(this).removeClass('desc').addClass('asc');
	} else {
		jQuery(this).removeClass('asc').addClass('desc');
	}

	// Call sort function
	sort();
});

function sort() {
	var table = jQuery('table');

	jQuery('th.order')
		.each(function() {

			if ( jQuery(this).hasClass('desc') ) {
				var th = jQuery(this),
					thIndex = th.index(),
					inverse = false;
			} else {
				var th = jQuery(this),
					thIndex = th.index(),
					inverse = true;
			}
			
			th.click(function(){
				table.find('td').filter(function(){
					return jQuery(this).index() === thIndex;
				}).sortElements(function(a, b){
					return jQuery.text([a]) > jQuery.text([b]) ?
						inverse ? -1 : 1
						: inverse ? 1 : -1;
					
				}, function(){
					return this.parentNode; 
				});
				
				inverse = !inverse;
					
			});
				
		});
} sort();</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">div.tableWrapper {
    padding: 24px;
}
div.tableWrapper table th {
    cursor: pointer;
}
div.tableWrapper table th.active {
    background: #5dd39e;
}
div.tableWrapper table th.active.asc::before,
div.tableWrapper table th.active.desc::before {
    content: '<';
    transform: rotate(-90deg);
    display: inline-block;
    margin: 0 8px;
}
div.tableWrapper table th.active.desc::before {
    transform: rotate(90deg);
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>div.tableWrapper {
    padding: 24px;
}
div.tableWrapper table th {
    cursor: pointer;
}
div.tableWrapper table th.active {
    background: #5dd39e;
}
div.tableWrapper table th.active.asc::before,
div.tableWrapper table th.active.desc::before {
    content: '<';
    transform: rotate(-90deg);
    display: inline-block;
    margin: 0 8px;
}
div.tableWrapper table th.active.desc::before {
    transform: rotate(90deg);
}</style>						<div class="tableWrapper">
    <table>
        <thead>
            <tr>
                <th class="order">Vorname</th>
                <th class="order">Name</th>
                <th class="order">Alter</th>
                <th class="order">Größe</th>
                <th class="order">Geschlecht</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Max</td>
                <td>Müller</td>
                <td>22</td>
                <td>1,78</td>
                <td>männlich</td>
            </tr>
            <tr>
                <td>Lisa</td>
                <td>Musterfrau</td>
                <td>21</td>
                <td>1,64</td>
                <td>weiblich</td>
            </tr>
            <tr>
                <td>Oliver</td>
                <td>Götze</td>
                <td>31</td>
                <td>1,77</td>
                <td>männlich</td>
            </tr>
            <tr>
                <td>Mohammed</td>
                <td>Ali</td>
                <td>30</td>
                <td>1,98</td>
                <td>männlich</td>
            </tr>
        </tbody>
    </table>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_d8d9859bdf776fe95f9da7e3c713a0cc" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>In dem einfachen Beispiel könnt Ihr alle Spaltennamen anklicken und sortieren lassen. Das jQuery reagiert nämlich auf die Klasse <code>order</code>. Fehlt diese dem Element th, so kann die Spalte nicht sortiert werden.</p>
<h3>So geht&#8217;s &#8211; Tabelle sortieren</h3>
<p>Als erstes benötigt Ihr natürlich eine Tabelle. Wenn Ihr schon eine Tabelle habt, dann gibt dem th der Spalte, die Ihr sortieren möchtet, die Klasse <code>order</code> an.</p>
</article>		<div id="code-block_d8d9859bdf776fe95f9da7e3c713a0cc" class="codeblock">
			<div class="code-language">html</div>
			<pre>
				<code class="language-xml" data-highlighted="yes">&lt;table&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;th class=&quotorder&quot&gt;Vorname&lt;/th&gt;
            &lt;th class=&quotorder&quot&gt;Name&lt;/th&gt;
            &lt;th class=&quotorder&quot&gt;Alter&lt;/th&gt;
            &lt;th class=&quotorder&quot&gt;Größe&lt;/th&gt;
            &lt;th class=&quotorder&quot&gt;Geschlecht&lt;/th&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;

    &lt;/tbody&gt;
&lt;/table&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_bb0a45855df6bfc704f0f062ff5e21a8" class="revilodesign code">
	<div class="content">
		<article class="article-content"><h3>Installieren der jQuery sortElements Libary</h3>
<p>Als nächstes müsst Ihr euch die <a href="https://www.revilodesign.de/wp-content/themes/revilodesign/assets/js/jquery.sortElements.js" title="jQuery Libary sortElements" rel="noopener" target="_blank">jQuery Libary sortElements herunterladen</a> und in euer Template hochladen und verlinken. Diese Libary wird uns später helfen die Tabelle zu sortieren.</p>
<h3>Auf dem Klick des Besuchers reagieren</h3>
<p>Nun können wir auf dem Klick des Nutzers reagieren und dem th Element die Klasse <code>active</code> anfügen, sowie die Art der Sortierung (ASC oder DESC). Auf diese Klassen können wir später reagieren und somit zusätzlich die Richtungspfeile hinzufügen. Anschließend rufen wir die function <code>sort()</code> und lassen die Tabelle sortieren.</p>
</article>		<div id="code-block_bb0a45855df6bfc704f0f062ff5e21a8" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery('th.order').on('click', function() {
    // add active class
    if ( !jQuery(this).hasClass('active') ) {
        jQuery('th.order').removeClass('active').removeClass('desc').removeClass('asc');
        jQuery(this).addClass('active');
    }
    
    // Add ASC or DESC
    if ( jQuery(this).hasClass('desc') ) {
        jQuery(this).removeClass('desc').addClass('asc');
    } else {
        jQuery(this).removeClass('asc').addClass('desc');
    }

    // Call sort function
    sort();						
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_4051f3f29f1a5b11f87db8b290036cb6" class="revilodesign code">
	<div class="content">
		<article class="article-content"><h3>Function sort aufrufen</h3>
<p>Diese Funktion sortiert die Tabelle anhand der angeklickten Spalte und arbeitet dazu mit der zuvor eingefügte sortElement.js Datei.</p>
</article>		<div id="code-block_4051f3f29f1a5b11f87db8b290036cb6" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">function sort() {
    var table = jQuery('table');

    jQuery('th.order')
        .each(function() {

            if ( jQuery(this).hasClass('desc') ) {
                var th = $(this),
                    thIndex = th.index(),
                    inverse = false;
            } else {
                var th = $(this),
                    thIndex = th.index(),
                    inverse = true;
            }
            
            th.click(function(){
                table.find('td').filter(function(){
                    return jQuery(this).index() === thIndex;
                }).sortElements(function(a, b){
                    return jQuery.text([a]) &gt; $.text([b]) ?
                        inverse ? -1 : 1
                        : inverse ? 1 : -1;
                    
                }, function(){
                    return this.parentNode; 
                });
                
                inverse = !inverse;
                    
            });
                
        });
} sort();</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mit-jquery-tabelle-sortieren/">Mit jQuery Tabelle sortieren</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/mit-jquery-tabelle-sortieren/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Mit jQuery prüfen ob das aktuelle Element im sichtbaren Bereich ist</title>
		<link>https://www.revilodesign.de/blog/sonstiges/mit-jquery-pruefen-ob-das-aktuelle-element-im-sichtbaren-bereich-ist/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/mit-jquery-pruefen-ob-das-aktuelle-element-im-sichtbaren-bereich-ist/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Wed, 01 Apr 2020 06:39:03 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2391</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mit-jquery-pruefen-ob-das-aktuelle-element-im-sichtbaren-bereich-ist/">Mit jQuery prüfen ob das aktuelle Element im sichtbaren Bereich ist</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section id="block_8f5c5412cf90aba0243d1fa6a8084443" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><p>In diesem Tutorial möchte ich euch zeigen, wie ihr <strong>mit jQuery prüfen könnt, ob ein Element im sichtbaren Bereich ist</strong>. Der Code hierzu ist sehr überschaubar, kann aber nach belieben angepasst und erweitert werden.</p>
<h2>Prüfen ob Element im sichtbaren Bereich ist</h2>
<blockquote>
<p><strong>Hinweis:</strong> kopiert bitte den Code von unten und nicht aus der Beispielbox oben!</p>
</blockquote>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotscrollWrapper&quot&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
	&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">// Inview
jQuery('div#scrollWrapper').scroll(function() {
	inview();
});

function inview() {
	var scrollTop	=	jQuery('div#scrollWrapper').scrollTop();    
	jQuery('div#scrollWrapper div').each(function(){
		if( jQuery(this).offset().top +( jQuery(this).height() / 2 )  > scrollTop ) {
			 if ( !jQuery(this).hasClass('inview')) {
				jQuery('div#scrollWrapper div').removeClass('inview');
				jQuery(this).addClass('inview');
			}
			return false;				
		}
	}); 
} inview();</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">#scrollWrapper {
	width: 100%;
	height: 300px;
	overflow: auto;
	padding: 24px;
}
#scrollWrapper div {
	width: 100%;
	height: 300px;
	border: 1px solid #5dd39e;
	margin: 12px 0;
}
#scrollWrapper div.inview {
	background: #5dd39e;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>#scrollWrapper {
	width: 100%;
	height: 300px;
	overflow: auto;
	padding: 24px;
}
#scrollWrapper div {
	width: 100%;
	height: 300px;
	border: 1px solid #5dd39e;
	margin: 12px 0;
}
#scrollWrapper div.inview {
	background: #5dd39e;
}</style>						<div id="scrollWrapper">
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_418d0575482af7636396d51f95919e14" class="revilodesign code">
	<div class="content">
		<article class="article-content"><h2>So geht&#8217;s</h2>
<p>Mein Beispiel oben ist nicht ganz so genau. Das liegt daran, dass ich den scrollTop vom Div ermitteln muss und nicht vom oberen Bildschirmrand.</p>
<h3>Erstellen einer Funktion</h3>
<p>Zunächst einmal erstellt eine function. Ich habe sie <code>inview()</code> benannt. In dieser vergleicht Ihr den Abstand eurer aktuellen Scrollposition mit der des Elements im sichtbaren Bereich. Befindet sich das Element im sichtbaren Bereich und hat noch nicht die Klasse <code>inview</code>, so werden bei allen anderen Elementen diese Klasse entfernt und dem sichtbaren Element hinzugefügt.</p>
</article>		<div id="code-block_418d0575482af7636396d51f95919e14" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">function inview() {
	var scrollTop	=	jQuery(window).scrollTop();    // Ermittelt den Abstand vom Top

	// each - durchsucht euren Code nach den Elementen
	jQuery('div#scrollWrapper div').each(function() {
		
		// Prüfen, ob Element im sichtbaren Bereich ist
		if( jQuery(this).offset().top + ( jQuery(this).height() / 2 )  &gt; scrollTop ) {

			 // Prüfen, ob das Element bereits die Klasse inview hat
			 if ( !jQuery(this).hasClass('inview')) {
				jQuery('div#scrollWrapper div').removeClass('inview');
				jQuery(this).addClass('inview');
			}
			
			// Nach dem ersten gefundenem Element wird die each abgebrochen
			return false;				
		}
	}); 
} inview();</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_d36e1ef31987e89b2e112517e7856d7a" class="revilodesign code">
	<div class="content">
		<article class="article-content"><h3>Aufrufen der function beim scrollen</h3>
<p>Anschließend müsst Ihr die <code>function inview()</code> nur noch bei jedem scrollen der Seite aufrufen. Kopiert dazu einfach den folgenden Code:</p>
</article>		<div id="code-block_d36e1ef31987e89b2e112517e7856d7a" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery(window).scroll(function() {
	inview();
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


	<section id="block_37e932dfb72470114c33a041812fdca4" class="revilodesign revilodesign-text text section-2 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Nun prüft die Funktion jederzeit, ob das <strong>Element beim scrollen in den sichtbaren Bereich kommt</strong> und fügt diesem eine Klasse hinzu. Auf diese könnt Ihr beispielsweise mit Animationen reagieren. Eurer Kreativität sind dabei keinerlei Grenzen gesetzt.</p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mit-jquery-pruefen-ob-das-aktuelle-element-im-sichtbaren-bereich-ist/">Mit jQuery prüfen ob das aktuelle Element im sichtbaren Bereich ist</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/mit-jquery-pruefen-ob-das-aktuelle-element-im-sichtbaren-bereich-ist/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Instagram Beiträge mit Facebook API in Webseite einbinden</title>
		<link>https://www.revilodesign.de/blog/sonstiges/instagram-beitraege-mit-facebook-api-in-webseite-einbinden/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/instagram-beitraege-mit-facebook-api-in-webseite-einbinden/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Tue, 31 Mar 2020 13:30:08 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2376</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/instagram-beitraege-mit-facebook-api-in-webseite-einbinden/">Instagram Beiträge mit Facebook API in Webseite einbinden</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[	<section id="block_74b6e2ffb79860b8ec282e7a37b3f863" class="revilodesign revilodesign-text text section-3 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Die alte Instagram API wurde zum 31.03.2020 eingestellt. Das hieß für mich, dass ich mich mit der Ausgabe meines Instagram Profiles auf meiner eigenen Webseite neu beschäftigen musste. Bisher funktionierte es tadellos, doch durch die Übernahme von Facebook muss man sich nun einen <strong>Instagram Access Token bei Facebook erstellen</strong>.</p>
<p><strong>UPDATE: <a href="#update-fuer-wordpress-user" title="Einfachere Variante Instagram einzubinden für WordPress User">Einfachere Variante Instagram einzubinden für WordPress User</a></strong></p>
<p>In diesem Beitrag möchte ich euch zeigen, wie ich Instagram mit der Facebook API auf meine Webseite eingebunden habe.</p>
<h2>Einrichtung der Instagram App</h2>
<h3>Erstellen einer Facebook App-ID</h3>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_359e40f8b5f5401124946896b3239159" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2377">
			<source srcset="https://www.revilodesign.de/media/facebook-app-id-erstellen-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/facebook-app-id-erstellen-150x150.jpg" type="image/jpeg" media="(max-width: 150px)" width="150" height="150">
			<img decoding="async" src="https://www.revilodesign.de/media/facebook-app-id-erstellen.webp" alt="facebook-app-id-erstellen" width="300" height="217" />
		</picture></span></span></p>
	</div>
</section>


	<section id="block_e7a8890b01594a03d16a7dfbc569b767" class="revilodesign revilodesign-text text section-4 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Als erstes solltet Ihr <a href="https://developers.facebook.com/apps/" rel="noopener" target="_blank" title="https://developers.facebook.com/apps/">https://developers.facebook.com/apps/</a> aufrufen und euch eine neue APP-ID erstellen.</p>
<h4>Webseite hinzufügen</h4>
<p>Nun navigierst du dich über das App-Dashboard zu <strong>Einstellungen > Grundlegend</strong>. Dort bis nach unten scrollen und auf &#8222;Plattform hinzufügen&#8220; klicken. Anschließend trägst du deine Webseite ein. Bei mir steht dort <code>https://www.revilodesign.de/</code></p>
<h3>Instagram Basic API einrichten</h3>
<h4>Instagram App hinzufügen</h4>
<p>Als erstes solltest du die <strong>Instagram App hinzufügen</strong>. Klicke dazu einfach unter <strong>Meine Apps</strong> auf Instagram.</p>
<h4>Konfigurieren der App</h4>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_cad4264f69426aab6bc6772b68af6c31" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2381">
			<source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-149x300.webp" type="image/webp" media="(max-width: 149px)" width="149" height="300"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-149x300.png" type="image/png" media="(max-width: 149px)" width="149" height="300"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-150x150.png" type="image/png" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-198x400.webp" type="image/webp" media="(max-width: 198px)" width="198" height="400"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-198x400.png" type="image/png" media="(max-width: 198px)" width="198" height="400"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-248x500.webp" type="image/webp" media="(max-width: 248px)" width="248" height="500"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-248x500.png" type="image/png" media="(max-width: 248px)" width="248" height="500"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-297x600.webp" type="image/webp" media="(max-width: 297px)" width="297" height="600"><source srcset="https://www.revilodesign.de/media/instagram-app-konfigurieren-297x600.png" type="image/png" media="(max-width: 297px)" width="297" height="600">
			<img decoding="async" src="https://www.revilodesign.de/media/instagram-app-konfigurieren.webp" alt="instagram-app-konfigurieren" width="300" height="606" />
		</picture></span></span></p>
	</div>
</section>


<section id="block_16cfe382d07b551b6cb0c02095ff8816" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Dort findest du folgende Felder:</p>
<ul>
<li><strong>Display-Name:</strong> Name deiner App</li>
<li><strong>Gültige OAuth Redirect URIs:</strong> URL deiner Website.<br /> <small>Facebook schreibt dazu: Normalerweise wäre dies eine spezifische URI, die Umleitungs-Abfrage-String-Parameter aufnehmen kann, aber im Rahmen dieses Tutorials kannst du die URL deiner Website verwenden.</small></li>
<li><strong>Deauthorize Callback URL:</strong> Erneut die URL deiner Website ein</li>
<li><strong>Data Deletion Request Callback URL:</strong> Erneut die URL deiner Website ein.</li>
<li><strong>App Review:</strong> Kannst du ignorieren</li>
</ul>
<h3>Testnutzer hinzufügen</h3>
<p>Als nächstes musst du einen Instagram Testnutzer hinzufügen. Klicke auf Roles und dann auf &#8222;<strong>Add Instagram Tester</strong>&#8220; und füge dich hinzu.</p>
<p>Anschließend musst du dich im Webbrowser (nicht über die Smartphone-App) in dein Instagram Account einloggen. Danach kannst du den Testnutzer über <strong>Profil bearbeiten > Apps und Webseiten > Tester-Einladungen</strong> akzeptieren.</p>
<h3>Testnutzer authentifizieren </h3>
<p>Nun musst du den Testnutzer authentifizieren. Dazu bearbeitest du den folgenden Link:</p>
</article>		<div id="code-block_16cfe382d07b551b6cb0c02095ff8816" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">https://www.instagram.com/oauth/authorize?client_id={Instagram_App_ID}&redirect_uri={Redirect_URI}&scope=user_profile,user_media&response_type=code</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_a259e5004152d45c573f8ff8d6b9bfd8" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Mein Link sieht wie folgt aus:</p>
</article>		<div id="code-block_a259e5004152d45c573f8ff8d6b9bfd8" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">https://www.instagram.com/oauth/authorize?client_id=494098441261999&redirect_uri=https://www.revilodesign.de/&scope=user_profile,user_media&response_type=code</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


	<section id="block_4bbdeb628f7bfe4d8c7eea6b89dc7f67" class="revilodesign revilodesign-text text section-5 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Nun solltet ihr den folgenden Bildschirm sehen.</p>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_20e4423c8d3ba36fdc016f09f22f4fb3" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2382">
			<source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-300x281.webp" type="image/webp" media="(max-width: 300px)" width="300" height="281"><source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-300x281.jpg" type="image/jpeg" media="(max-width: 300px)" width="300" height="281"><source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-150x150.jpg" type="image/jpeg" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-400x375.webp" type="image/webp" media="(max-width: 400px)" width="400" height="375"><source srcset="https://www.revilodesign.de/media/instagram-authentifizieren-400x375.jpg" type="image/jpeg" media="(max-width: 400px)" width="400" height="375">
			<img loading="lazy" decoding="async" src="https://www.revilodesign.de/media/instagram-authentifizieren.webp" alt="instagram authentifizieren" width="500" height="469" />
		</picture></span></span></p>
	</div>
</section>


<section id="block_9cffe93c5aa984a088a2b2dedb859f65" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Klicke auf Continue und authentifiziere den Testnutzer. Ist die Authentifizierung erfolgreich wird dich dein Browser automatisch auf deine Redirect URI umleiten, die du zuvor angegeben hast.</p>
<p>Dur wirst nun einen ähnlichen Link erhalten:</p>
</article>		<div id="code-block_9cffe93c5aa984a088a2b2dedb859f65" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">https://www.revilodesign.de/?code=AQB........ HjDQ#_</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_7259bde20308b44d569724d8c541e052" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Speichere Dir alles hinter <code>code=</code> jedoch <strong>nicht #_</strong>.#_ ist kein Teil des eigentlichen Codes und wurde nur hinten angehängt. </p>
<p><code>AQB........ HjDQ</code></p>
<blockquote class="info">
<p>Es handelt sich bei dem Code um einen kurzlebigen Authentifizierungscode. Dieser ist <strong>nur eine Stunde gültig</strong>.</p>
</blockquote>
<h2>Code gegen einen Access Token tauschen</h2>
<p>Nun kommen wir wohl zum kompliziertesten Teil – Wir müssen den Code gegen einen Access Token tauschen. Dazu benötigst du ein Befehlszeilentool (Terminal) oder eine Befehlszeilen-App (<a rel="nofollow" href="https://www.postman.com/downloads/" rel="noopener" target="_blank">Postman</a>), die cURL-Anfragen unterstützt.</p>
<p>Bearbeite den folgenden Code und führe ihn anschließend aus:</p>
</article>		<div id="code-block_7259bde20308b44d569724d8c541e052" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">curl --location --request POST &quothttps://api.instagram.com/oauth/access_token&quot \
--form &quotclient_id={APP_ID}&quot \
--form &quotclient_secret={SECRET_CODE}&quot \
--form &quotgrant_type=authorization_code&quot \
--form &quotredirect_uri={REDIRECT_URI}&quot \
--form &quotcode={KURZLEBIGER_CODE}&quot</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_0c496d7cf5ec6d30a32c0e230ed26dec" class="revilodesign code">
	<div class="content">
		<article class="article-content"><ul>
<li><strong>APP_ID</strong> Deine Instagram-ID</li>
<li><strong>SECRET_CODE</strong> Dein Instagram-App-Geheimcode</li>
<li><strong>REDIRECT_URI</strong> deine Weiterleitungs-URI (Wichtig: Auch Schrägstriche am Ende beachten)</li>
<li><strong>KURZLEBIGER_CODE</strong> Zuvor generierter Code</li>
</ul>
<p>Meine Abfrage sieht wie folgt aus:</p>
</article>		<div id="code-block_0c496d7cf5ec6d30a32c0e230ed26dec" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">curl --location --request POST &quothttps://api.instagram.com/oauth/access_token&quot \
--form &quotclient_id=494098441261999&quot \
--form &quotclient_secret=202e1c9.......................530b&quot \
--form &quotgrant_type=authorization_code&quot \
--form &quotredirect_uri=https://www.revilodesign.de/&quot \
--form &quotcode=AQB........ HjDQ&quot</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_111e47c7c21c6df8df68b459f9cdc68c" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Wenn alles geklappt hat, dann solltet Ihr ein ähnliches JSON-cordiertes Objekt zurück erhalten:</p>
</article>		<div id="code-block_111e47c7c21c6df8df68b459f9cdc68c" class="codeblock">
			<div class="code-language">json</div>
			<pre>
				<code class="language-json">{ &quotaccess_token&quot: &quotIGQVJ...&quot, &quotuser_id&quot: 17841406902143397 }</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_faf71bd453d78f0b09735b3d2914a7ff" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Kopiere den Access Token und die User-ID für den nächsten Schritt.</p>
<h3>Umwandeln von kurzlebigen ind langlebige Token</h3>
<p>Leider ist der Access Token nur eine Stunde gültig und verfällt anschließend. Daher solltet ihr unbedingt den Access Token in einen langlebigen Zugriffsschlüssel umwandeln.</p>
<p>Gibt dazu die folgende Zeile in den Terminal ein:</p>
</article>		<div id="code-block_faf71bd453d78f0b09735b3d2914a7ff" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">curl -i -X GET &quothttps://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret={SECRET_CODE}&access_token={ACCESS_TOKEN}&quot</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_2862b53780b6d91e8e1843602badc24b" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Mein Code sieht wie folgt aus:</p>
</article>		<div id="code-block_2862b53780b6d91e8e1843602badc24b" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">curl -i -X GET &quothttps://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret=202e1c9.......................530b&access_token=IGQVJ...&quot</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_511562524f343bf634d488d6ffbd1827" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Bei erfolgreicher Eingabe solltest du in etwa solch eine Ausgabe erhalten:</p>
</article>		<div id="code-block_511562524f343bf634d488d6ffbd1827" class="codeblock">
			<div class="code-language">json</div>
			<pre>
				<code class="language-json">{&quotaccess_token&quot:&quotIGQV................ZADdB&quot,&quottoken_type&quot:&quotbearer&quot,&quotexpires_in&quot:5183999}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_2ac1033a99db71153d904e96dcc42373" class="revilodesign code">
	<div class="content">
		<article class="article-content"><ul>
<li><strong>access_token:</strong> Langlebiger Instagram Access Token</li>
<li><strong>token_type:</strong> Token Typ</li>
<li><strong>expires_in:</strong> Sekunden, bis der Access Token verfällt</li>
</ul>
<h3>Acces Token erneuern</h3>
<p>Du kannst den Access Token ganz einfach erneuern indem du die folgende Zeile angepasst ausführst:</p>
</article>		<div id="code-block_2ac1033a99db71153d904e96dcc42373" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">curl -i -X GET &quothttps://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=IGQVJY................NBOG1n&quot</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_606def4ef37b9c6931baff60b66f3fb7" class="revilodesign code">
	<div class="content">
		<article class="article-content"><h2>Ausgabe meiner Instagram Beiträge</h2>
<p>Nun sind wir an der Stelle, wo wir die Instagram Beiträge auslesen können. Mit der folgenden URL kannst du dir deine letzten Beiträge ausgeben lassen:</p>
</article>		<div id="code-block_606def4ef37b9c6931baff60b66f3fb7" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">https://graph.instagram.com/me/media?fields=id,caption&access_token={ACCESS_TOKEN}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_d465aa9214aba5cda4456af1cf31aba8" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Das sollte in etwa so aussehen:</p>
</article>		<div id="code-block_d465aa9214aba5cda4456af1cf31aba8" class="codeblock">
			<div class="code-language">json</div>
			<pre>
				<code class="language-json">{
   &quotdata&quot: [
      {
         &quotid&quot: &quot17883454531458320&quot,
         &quotcaption&quot: &quotI updated my #website. #checkout #webdesign #webdesigner #developer #revilodesign #website #homepage #newwebsite&quot
      },
      {
         &quotid&quot: &quot17970306580215687&quot,
         &quotcaption&quot: &quot#newwebsite #webdesign #webdesigner #webtrends #grafikdesign #frontenddeveloper #revilodesign #programming #work #websitedesign #animation #php #css #css3 #html #htmlcss #spot9 #comingsoon&quot
      },
      {
         &quotid&quot: &quot18002822650090275&quot,
         &quotcaption&quot: &quot#easypeasy #newwebsite #websitedesign #webdesign #webs#websitedesigner #webdesigner #programming #internetseite #shisha #work#worklife #shishatime #shishaathome #mac #apple #relaunch #dlpersonal #revilodesign&quot
      },
      ....
      ....
      ....
],
   &quotpaging&quot: {
      &quotcursors&quot: {
         &quotbefore&quot: &quotQVFIUnB0eXN2YTliTXRUS1VMeFlCcmJaU3ZAlY3g2MTVGTnpqY2U4cDB6MzNtZA1Y1aDQtMk1ITnNRYWI4RWxVSDQzYVFyLXJhbTRGd2dVTzdyUlBXakZAqbzFn&quot,
         &quotafter&quot: &quotQVFIUmhqMUdtbXBFY1RRSElESzRxOVN6WWlrYVdLMllpNWZANUkhKcEU3dURlV0wyRGlsWVhZATlpzZAXJvMm8zSkhHUGFPWGVncFNrME9aOFNUUU1haHhkUGFn&quot
      },
      &quotnext&quot: &quothttps://graph.instagram.com/v1.0/17841406902143397/media?access_token={ACCESS_TOKEN}&quot
   }
}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_6f2903951e2f7d9011423b3298508cbe" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Damit hast du nun die Beitrags-ID und den Text zum Bild ausgelesen. Aber es ist noch mehr zu tun.</p>
<p>Wenn du die Bilder anzeigen lassen möchtest, dann musst du folgende URL aufrufen und die ID einfügen. In meinem Beispiel verwende ich die erste ID <strong>17883454531458320</strong>, sodass die URL wie folgt aussieht.</p>
</article>		<div id="code-block_6f2903951e2f7d9011423b3298508cbe" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">https://graph.instagram.com/17883454531458320?fields=id,media_type,media_url,username,timestamp&access_token={ACCESS_TOKEN}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


	<section id="block_6deffb14d456f58ef043489f8f612add" class="revilodesign revilodesign-text text section-6 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Damit solltest du nun dir Bild URL, den Bild Typ und weitere Daten zum Instagram Post erhalten, den du nun in deine Webseite einbinden kannst.</p>
<h2>Update: Für WordPress User</h2>
<p>Auf der Suche nach Instagram Plugins für WordPress bin ich auf <a href="https://de.wordpress.org/plugins/wd-instagram-feed/" rel="noopener" target="_blank" title="WD Instagram Feed">WD Instagram Feed</a> gestoßen. Nachdem ich es installiert und meinen Instagram Account verknüpft habe, habe ich gesehen, dass mir das Plugin die Instagram User ID und den Access Token anzeigt.</p>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_136a78cf2186c4f2808667aadb59018b" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2747">
			<source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-300x80.webp" type="image/webp" media="(max-width: 300px)" width="300" height="80"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-300x80.png" type="image/png" media="(max-width: 300px)" width="300" height="80"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1024x274.webp" type="image/webp" media="(max-width: 1024px)" width="1024" height="274"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1024x274.png" type="image/png" media="(max-width: 1024px)" width="1024" height="274"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-150x150.png" type="image/png" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-768x206.webp" type="image/webp" media="(max-width: 768px)" width="768" height="206"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-768x206.png" type="image/png" media="(max-width: 768px)" width="768" height="206"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1536x411.webp" type="image/webp" media="(max-width: 1536px)" width="1536" height="411"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1536x411.png" type="image/png" media="(max-width: 1536px)" width="1536" height="411"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-2048x548.webp" type="image/webp" media="(max-width: 2048px)" width="2048" height="548"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-2048x548.png" type="image/png" media="(max-width: 2048px)" width="2048" height="548"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-400x107.webp" type="image/webp" media="(max-width: 400px)" width="400" height="107"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-400x107.png" type="image/png" media="(max-width: 400px)" width="400" height="107"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-500x134.webp" type="image/webp" media="(max-width: 500px)" width="500" height="134"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-500x134.png" type="image/png" media="(max-width: 500px)" width="500" height="134"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-600x161.webp" type="image/webp" media="(max-width: 600px)" width="600" height="161"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-600x161.png" type="image/png" media="(max-width: 600px)" width="600" height="161"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-700x187.webp" type="image/webp" media="(max-width: 700px)" width="700" height="187"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-700x187.png" type="image/png" media="(max-width: 700px)" width="700" height="187"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-800x214.webp" type="image/webp" media="(max-width: 800px)" width="800" height="214"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-800x214.png" type="image/png" media="(max-width: 800px)" width="800" height="214"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-900x241.webp" type="image/webp" media="(max-width: 900px)" width="900" height="241"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-900x241.png" type="image/png" media="(max-width: 900px)" width="900" height="241"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1000x268.webp" type="image/webp" media="(max-width: 1000px)" width="1000" height="268"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1000x268.png" type="image/png" media="(max-width: 1000px)" width="1000" height="268"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1100x294.webp" type="image/webp" media="(max-width: 1100px)" width="1100" height="294"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1100x294.png" type="image/png" media="(max-width: 1100px)" width="1100" height="294"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1200x321.webp" type="image/webp" media="(max-width: 1200px)" width="1200" height="321"><source srcset="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user-1200x321.png" type="image/png" media="(max-width: 1200px)" width="1200" height="321">
			<img loading="lazy" decoding="async" src="https://www.revilodesign.de/media/einfachere-variante-instagram-einzubinden-fuer-wordpress-user.webp" alt="einfachere-variante-instagram-einzubinden-fuer-wordpress-user" width="3018" height="808" />
		</picture></span></span></p>
	</div>
</section>


	<section id="block_69e3b218b0b6e824873688cbe99bbc4b" class="revilodesign revilodesign-text text section-7 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Und tatsäschlich, wenn ich folgende URL öffne und den <code>access_token</code> mit dem angezeigten Token tausche, dann werden mir meine Instagram Posts als json ausgegeben.</p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/instagram-beitraege-mit-facebook-api-in-webseite-einbinden/">Instagram Beiträge mit Facebook API in Webseite einbinden</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/instagram-beitraege-mit-facebook-api-in-webseite-einbinden/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Mac / Apple: Mit Tastatur zwischen Buttons wechseln und bestätigen</title>
		<link>https://www.revilodesign.de/blog/sonstiges/mac-mit-tastatur-zwischen-buttons-wechseln-und-bestaetigen/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/mac-mit-tastatur-zwischen-buttons-wechseln-und-bestaetigen/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Mon, 14 Oct 2019 09:03:12 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2263</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mac-mit-tastatur-zwischen-buttons-wechseln-und-bestaetigen/">Mac / Apple: Mit Tastatur zwischen Buttons wechseln und bestätigen</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[	<section id="block_980b9857c7344c1202670bee7ff2cdbf" class="revilodesign revilodesign-text text section-8 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Eigentlich sollte man doch meinen, dass man mit dem Mac <strong>ganz einfach zwischen mehreren Buttons im Dialogfeld mit der Tastatur wechseln</strong> kann. Doch diese Funktion ist standardmäßig deaktiviert.</p>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_3df6fdeea46e90bd0505f55ac1d7cd9d" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2264">
			<source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-289x300.webp" type="image/webp" media="(max-width: 289px)" width="289" height="300"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-289x300.jpg" type="image/jpeg" media="(max-width: 289px)" width="289" height="300"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-150x150.jpg" type="image/jpeg" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-768x798.webp" type="image/webp" media="(max-width: 768px)" width="768" height="798"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-768x798.jpg" type="image/jpeg" media="(max-width: 768px)" width="768" height="798"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-385x400.webp" type="image/webp" media="(max-width: 385px)" width="385" height="400"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-385x400.jpg" type="image/jpeg" media="(max-width: 385px)" width="385" height="400"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-481x500.webp" type="image/webp" media="(max-width: 481px)" width="481" height="500"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-481x500.jpg" type="image/jpeg" media="(max-width: 481px)" width="481" height="500"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-578x600.webp" type="image/webp" media="(max-width: 578px)" width="578" height="600"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-578x600.jpg" type="image/jpeg" media="(max-width: 578px)" width="578" height="600"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-674x700.webp" type="image/webp" media="(max-width: 674px)" width="674" height="700"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-674x700.jpg" type="image/jpeg" media="(max-width: 674px)" width="674" height="700"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-770x800.webp" type="image/webp" media="(max-width: 770px)" width="770" height="800"><source srcset="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln-770x800.jpg" type="image/jpeg" media="(max-width: 770px)" width="770" height="800">
			<img loading="lazy" decoding="async" src="https://www.revilodesign.de/media/mac-dialogfeld-mit-tastatur-wechseln.webp" alt="mac dialogfeld mit tastatur wechseln" width="800" height="831" />
		</picture></span></span></p>
	</div>
</section>


	<section id="block_c7ac57fd0f2614df4647dd231c33c6a3" class="revilodesign revilodesign-text text section-9 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Eine ganze Weile lang habe ich mich damit abgefunden beim schließen eines Dokumentes, welches noch nicht gesichert war, mit der Maus auf &#8222;Nicht speichern&#8220; oder &#8222;Abbrechen&#8220; zu drücken oder beim überschreiben einer Datei auf den Button &#8222;ersetzen&#8220; zu klicken.</p>
<p>Aber es ging mir dann doch irgendwann auf die Nerven, denn mit der Tastatur ist man einfach viel schneller und effektiver. Als ehemaliger Windows-Nutzer war ich die schneller Variante einfach gewöhnt. Also musste eine Lösung her.</p>
<h2>So kannst Du mit Deinem Mac zwischen den Buttons mit der Tastatur navigieren</h2>
<p>Natürlich kann auch am Mac <strong>mit der Tastatur zwischen den Dialogfeldern navigieren</strong>. Man muss nur wissen, wo man suchen muss.</p>
<ol>
<li>Öffne die <strong>Systemeinstellung > Tastatur > Kurzbefehle</strong></li>
<li>Aktiviere &#8222;Bewege den Fokus mittels Tastaturnavigation zu Steuerelementen&#8220;</li>
</ol>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_16ec5228ddb65a35fd4dc5f9054bdcab" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="2265">
			<source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-300x238.webp" type="image/webp" media="(max-width: 300px)" width="300" height="238"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-300x238.jpg" type="image/jpeg" media="(max-width: 300px)" width="300" height="238"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-150x150.jpg" type="image/jpeg" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-768x609.webp" type="image/webp" media="(max-width: 768px)" width="768" height="609"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-768x609.jpg" type="image/jpeg" media="(max-width: 768px)" width="768" height="609"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-400x317.webp" type="image/webp" media="(max-width: 400px)" width="400" height="317"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-400x317.jpg" type="image/jpeg" media="(max-width: 400px)" width="400" height="317"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-500x396.webp" type="image/webp" media="(max-width: 500px)" width="500" height="396"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-500x396.jpg" type="image/jpeg" media="(max-width: 500px)" width="500" height="396"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-600x476.webp" type="image/webp" media="(max-width: 600px)" width="600" height="476"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-600x476.jpg" type="image/jpeg" media="(max-width: 600px)" width="600" height="476"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-700x555.webp" type="image/webp" media="(max-width: 700px)" width="700" height="555"><source srcset="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren-700x555.jpg" type="image/jpeg" media="(max-width: 700px)" width="700" height="555">
			<img loading="lazy" decoding="async" src="https://www.revilodesign.de/media/mac-steuerelemente-mit-tab-wechseln-aktivieren.webp" alt="mac steuerelemente mit tab wechseln aktivieren" width="800" height="634" />
		</picture></span></span></p>
	</div>
</section>


	<section id="block_79bbd9ae4fd1d376f18cb4a76eaeab01" class="revilodesign revilodesign-text text section-10 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Nun kannst du mit Tab zwischen den Steuerelementen hin und her navigieren. Mit Tab gehst du vorwärts, mit &#8222;Shift + Tab&#8220; rückwärts.</p>
<blockquote>
<p><strong>Beachte:</strong> Mit Enter bestätigst du die Ursprüngliche Auswahl. Mit der Leertaste die neue Auswahl.</p>
</blockquote>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mac-mit-tastatur-zwischen-buttons-wechseln-und-bestaetigen/">Mac / Apple: Mit Tastatur zwischen Buttons wechseln und bestätigen</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/mac-mit-tastatur-zwischen-buttons-wechseln-und-bestaetigen/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>jQuery Sortable Drag &#038; Drop Anleitung &#8211; hinzufügen, löschen, Reihenfolge verändern</title>
		<link>https://www.revilodesign.de/blog/sonstiges/jquery-sortable-drag-drop-anleitung-hinzufuegen-loeschen-reihenfolge-veraendern/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/jquery-sortable-drag-drop-anleitung-hinzufuegen-loeschen-reihenfolge-veraendern/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Thu, 19 Sep 2019 11:50:38 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=2056</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-sortable-drag-drop-anleitung-hinzufuegen-loeschen-reihenfolge-veraendern/">jQuery Sortable Drag &#038; Drop Anleitung &#8211; hinzufügen, löschen, Reihenfolge verändern</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section id="block_d0209b28dd492ee73b4dd4ab4cbabec0" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><p>Mit <strong>jQuery Sortable</strong> kann man Elemente nach belieben neu positionieren und anordnen. Die Verwendung ist vergleichsweise einfach. Zunächst einmal musst Du <a href="https://jqueryui.com/sortable/" rel="nofollow" target="_blank" title="download jQuery UI">jQuery UI herunterladen</a> und in dein Template einbinden. </p>
<p>Oder Du lädst die Datei extern: <code>https://code.jquery.com/ui/1.12.1/jquery-ui.js</code></p>
<h2>Drag &#038; Drop mit jQuery sortable</h2>
<p>Füge oder entferne Boxen und ändere die Reihenfolge mit Deiner Maus. Alle Beispiele und genauere Erklärungen findest Du weiter unten:</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>										
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample8&quot class=&quotsortable&quot&gt;
	
	&lt;div id=&quotbox-1&quot class=&quotbox box-count&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox box-count&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotempty&quot class=&quotbox empty&quot&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotselect transition&quot&gt;
				&lt;div class=&quotchooser&quot&gt;
					&lt;ul&gt;
						&lt;li style=&quotdisplay:none&quot class=&quotbox-1&quot data-box=&quot1&quot&gt;Box 1 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li‹&gt;
						&lt;li style=&quotdisplay:none&quot class=&quotbox-2&quot data-box=&quot2&quot&gt;Box 2 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
						&lt;li class=&quotbox-3&quot data-box=&quot3&quot&gt;Box 3 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
						&lt;li class=&quotbox-4&quot data-box=&quot4&quot&gt;Box 4 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
					&lt;/ul&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">// DRAG & DROP
jQuery( "div#example8" ).sortable({
	placeholder	:	'box placeholder',
	fixed		:	'div.box.empty',
	items		:	'div.box:not(.empty)',
});

// OPEN SELECT
jQuery('div#example8 div.box.empty div.select').on('click', function() {
	jQuery(this).toggleClass('open');
});

// ADD BOX
function addBox8( id ) {
	if ( id ) {
		var html = '&lt;div id="box-' + id + '" class="box box-count" draggable="true" data-box="box-' + id + '"&gt;&lt;div class="box-remove"&gt;&lt;/div&gt;&lt;div class="box-content"&gt;&lt;div class="inner"&gt;&lt;h2&gt;' + id + '&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';
		jQuery(html).insertBefore( 'div#example8 div.box.empty' );
		removeBox8();
		maxShow8();
	} else {
		jQuery('div#example8 li').on('click', function() {
			var id  =   jQuery(this).attr('data-box');
			jQuery(this).hide();
			addBox8(id);
		})
	}
}
jQuery('div#example8 li').on('click', function() {
	var id  =   jQuery(this).attr('data-box');
	jQuery(this).hide();
	addBox8(id);
})

// REMOBVE BOX
jQuery('div#example8 div.box div.box-remove').on('click', function() {
	var id  =   jQuery(this).parent().attr('id');
	removeBox8(id);
});

function removeBox8(id) {
	if ( id ) {
		jQuery('div#example8 div#' + id).remove();
		jQuery('div#example8 li.' + id).show();
		maxShow8();
	} else {
		jQuery('div#example8 div.box div.box-remove').on('click', function() {
			var id  =   jQuery(this).parent().attr('id');
			removeBox8(id);
		});
	}
}

// MAX SHOW
function maxShow8() {
	var max     =   4;
	var count	=	0;

	jQuery('div#example8 div.box-count').each(function() {
		count			+=	1;
	});

	if ( count >= max ) {
		jQuery('div#example8 div.box.empty').hide();
	} else {
		jQuery('div#example8 div.box.empty').show();
	}
}</code>
								</pre>
							</div>
						</div>
										
										
					<div class="demo-box demo-box-view active">
												<div id="example8" class="sortable">
	
	<div id="box-1" class="box box-count" draggable="true" data-box="box-1">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box box-count" draggable="true" data-box="box-2">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="empty" class="box empty">
		<div class="box-content">
			<div class="select transition">
				<div class="chooser">
					<ul>
						<li style="display:none" class="box-1" data-box="1">Box 1 <small>hinzufügen</small></li‹>
						<li style="display:none" class="box-2" data-box="2">Box 2 <small>hinzufügen</small></li>
						<li class="box-3" data-box="3">Box 3 <small>hinzufügen</small></li>
						<li class="box-4" data-box="4">Box 4 <small>hinzufügen</small></li>
					</ul>
				</div>
			</div>
		</div>
	</div>
	
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_62833df806c679958135dda765552a0a" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h2>Syntax</h2>
<p>Die Syntax sieht folgender Maße aus</p>
<p><code>$(selector, context).sortable(options);</code></p>
<p>Im folgenden findet Ihr die unterschiedlichen <code>options</code>;</p>
<table>
<thead>
<tr>
<th>Option</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td>appendTo</td>
<td>Diese Option gibt das Element an, in das das mit options.helper neu erstellte Element während der Zeit des Verschiebens eingefügt wird. Standardmäßig ist sein Wert <strong>parent</strong>.</td>
</tr>
<tr>
<td>axis</td>
<td>Diese Option zeigt eine Bewegungsachse an (&#8222;x&#8220; ist horizontal, &#8222;y&#8220; ist vertikal). Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>cancel</td>
<td>Diese Option wird verwendet, um das Sortieren von Elementen zu verhindern, indem Sie auf eines der Auswahlelemente klicken. Standardmäßig ist der Wert &#8222;input,textarea,button,select,option&#8220;.</td>
</tr>
<tr>
<td>connectWith</td>
<td>Diese Option ist ein Selektor, der ein anderes sortierbares Element identifiziert und das Elemente aus diesem sortierbaren Element akzeptieren kann. Dadurch können Elemente aus einer Liste in andere Listen verschoben werden, was eine häufige und nützliche Benutzerinteraktion ermöglicht. Ohne diese Angabe wird kein anderes Element verbunden. Das ist eine einseitige Beziehung. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>containment</td>
<td>Diese Option zeigt ein Element an, in dem die Verschiebung stattfindet. Das Element wird durch einen Selektor (nur das erste Element in der Liste wird berücksichtigt), ein DOM-Element oder die Zeichenkette &#8222;parent&#8220; (übergeordnetes Element) oder &#8222;window&#8220; (HTML-Seite) dargestellt.</td>
</tr>
<tr>
<td>cursor</td>
<td>Gibt die Cursor-CSS-Eigenschaft an, wenn sich das Element bewegt. Es stellt die Form des Mauszeigers dar. Standardmäßig ist der Wert &#8222;<strong>auto</strong>&#8222;.</td>
</tr>
<tr>
<td>cursorAt</td>
<td>Setzt den Offset des Dragging Helfers zum Mauszeiger. Koordinaten können als Hash mit einer Kombination aus einer oder zwei Tasten angegeben werden: oben, links, rechts, unten }. Standardmäßig ist sein Wert &#8222;<strong>false</strong>&#8222;.</td>
</tr>
<tr>
<td>delay</td>
<td>Verzögerung in Millisekunden, nach der die erste Bewegung der Maus berücksichtigt wird. Die Verschiebung kann nach dieser Zeit beginnen. Standardmäßig ist der Wert <strong>&#8222;0&#8220;</strong>.</td>
</tr>
<tr>
<td>disabled</td>
<td>Wenn diese Option auf true gesetzt ist, wird die sortierbare Funktionalität deaktiviert. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>distance</td>
<td>Anzahl der Pixel, die die Maus bewegt werden muss, bevor die Sortierung beginnt. Wenn angegeben, wird die Sortierung erst dann gestartet, wenn die Maus über die Entfernung gezogen wird. Standardmäßig ist der Wert <strong>&#8222;1&#8220;</strong>.</td>
</tr>
<tr>
<td>dropOnEmpty</td>
<td>Diese Option ist auf false gesetzt, dann können Elemente aus dieser Sortierfunktion nicht auf eine leere Verbindungs-Sortierfunktion abgelegt werden. Standardmäßig ist sein Wert <strong>true</strong>.</td>
</tr>
<tr>
<td>forceHelperSize</td>
<td>Wenn diese Option auf true gesetzt ist, wird der Helfer gezwungen, eine Größe zu haben. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>forcePlaceholderSize</td>
<td>Diese Option, wenn sie auf true gesetzt ist, berücksichtigt die Größe des Platzhalters, wenn ein Element verschoben wird. Diese Option ist nur sinnvoll, wenn options.placeholder initialisiert ist. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>grid</td>
<td>Diese Option ist ein Array[x, y], das die Anzahl der Pixel angibt, die das Sortierelement während der Verschiebung der Maus horizontal und vertikal bewegt. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>handle</td>
<td>Wenn angegeben, wird die Sortierung vom Anfang an eingeschränkt, es sei denn, die Mausbewegung erfolgt auf dem/den angegebenen Element(en). Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>helper</td>
<td>Ermöglicht die Verwendung eines Hilfselements zum Ziehen der Anzeige. Standardmäßig ist der Wert <strong>original</strong>.</td>
</tr>
<tr>
<td>items</td>
<td>Diese Option legt fest, welche Elemente innerhalb des DOM-Elements sortiert werden sollen. Standardmäßig ist sein Wert <strong>> *</strong>.</td>
</tr>
<tr>
<td>opacity</td>
<td>Diese Option wird verwendet, um die Deckkraft des Helfers beim Sortieren zu definieren. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>placeholder</td>
<td>Diese Option wird verwendet, um Klassennamen zu vergeben, die auf den ansonsten weißen Bereich angewendet werden.</td>
</tr>
<tr>
<td>revert</td>
<td>Diese Option entscheidet, ob die sortierbaren Elemente in einer glatten Animation an ihre neue Position zurückkehren sollen. Standardmäßig ist sein Wert <strong>false</strong>.</td>
</tr>
<tr>
<td>scroll</td>
<td>Diese Option wird verwendet, um das Scrollen zu aktivieren. Wenn auf true gesetzt, scrollt die Seite, wenn sie an eine Kante kommt. Standardmäßig ist sein Wert <strong>true</strong>.</td>
</tr>
<tr>
<td>scrollSensitivity</td>
<td>Diese Option gibt an, wie viele Pixel die Maus den sichtbaren Bereich verlassen muss, um ein Scrollen zu bewirken. Standardmäßig ist der Wert <strong>20</strong>. Diese Option wird nur verwendet, wenn options.scroll auf true gesetzt ist.</td>
</tr>
<tr>
<td>scrollSpeed</td>
<td>Diese Option gibt die Scrollgeschwindigkeit der Anzeige an, sobald das Scrollen beginnt. Standardmäßig ist der Wert <strong>20</strong>.</td>
</tr>
<tr>
<td>tolerance</td>
<td>Diese Option ist ein String, der angibt, in welchem Modus getestet werden soll, ob das zu verschiebende Element über einem anderen Element schwebt. Standardmäßig ist sein Wert &#8222;<strong>intersect</strong>&#8222;.</td>
</tr>
<tr>
<td>zIndex</td>
<td>Diese Option stellt den z-Index für Element / Helfer beim Sortieren dar. Standardmäßig ist der Wert <strong>1000</strong>.</td>
</tr>
</tbody>
</table>
<h2>Beispiele</h2>
<p>Im folgenden findest Du einige Beispiele, wie man <strong>mit sortable die Reihenfolge von Elementen mit Drag and Drop verändern</strong> kann. Ebenso findest Du auch Beispiele in denen Elemente gelöscht und wieder hinzugefügt werden können. </p>
<h3>Basic: Einfaches Drag &#038; Drop Beispiel</h3>
<p>Dies ist wohl das einfachste Beispiel und soll die Basics von sortable aufzeigen.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample1&quot class=&quotsortable&quot&gt;
	&lt;div id=&quotbox-1&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-3&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-3&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;3&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-4&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-4&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;4&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery( function() {
    jQuery( "div#example1" ).sortable();
});</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">/*-----------*/
/* SOORTABLE */
/*-----------*/
div.sortable {
	padding: 24px 12px;
	position: relative;
	max-width: 100%;
	height: 200px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
		-ms-flex-pack: start;
			justify-content: flex-start;
	-ms-flex-line-pack: stretch;
		align-content: stretch;
	-webkit-box-align: stretch;
		-ms-flex-align: stretch;
			align-items: stretch;
	-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
}
div.sortable div.box {
	width: 25%;
	max-width: 25%;
	-ms-flex-preferred-size: 0;
		flex-basis: 0;
	-webkit-box-flex: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	border-radius: 4px;
	position: relative;
	padding-left: 12px;
	padding-right: 12px;
}
div.sortable div.box div.box-content {
	background: #fff;
	-webkit-box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.05);
			box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.05);
	border-radius: 4px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.ui-sortable-helper div.box-content {
	-webkit-transform: scale(1.1);
			transform: scale(1.1);
	-webkit-box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.3);
			box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.3);
	opacity: 0.5;
}
div.sortable div.box div.box-placeholder {
	margin-top: 50%;
}
div.sortable div.box div.box-content {
	width: calc(100% - 24px);
	height: 100%;
	position: absolute;
	top: 0;
	left: 12px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-ms-flex-line-pack: center;
		align-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	padding: 0;
	z-index: 9;
}
div.sortable div.box div.box-content div.inner strong {
	padding: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>/*-----------*/
/* SOORTABLE */
/*-----------*/
div.sortable {
	padding: 24px 12px;
	position: relative;
	max-width: 100%;
	height: 200px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
		-ms-flex-pack: start;
			justify-content: flex-start;
	-ms-flex-line-pack: stretch;
		align-content: stretch;
	-webkit-box-align: stretch;
		-ms-flex-align: stretch;
			align-items: stretch;
	-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
}
div.sortable div.box {
	width: 25%;
	max-width: 25%;
	-ms-flex-preferred-size: 0;
		flex-basis: 0;
	-webkit-box-flex: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	border-radius: 4px;
	position: relative;
	padding-left: 12px;
	padding-right: 12px;
}
div.sortable div.box div.box-content {
	background: #fff;
	-webkit-box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.05);
			box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.05);
	border-radius: 4px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.ui-sortable-helper div.box-content {
	-webkit-transform: scale(1.1);
			transform: scale(1.1);
	-webkit-box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.3);
			box-shadow: 0 0 0.875rem 0 rgba(53, 64, 82, 0.3);
	opacity: 0.5;
}
div.sortable div.box div.box-placeholder {
	margin-top: 50%;
}
div.sortable div.box div.box-content {
	width: calc(100% - 24px);
	height: 100%;
	position: absolute;
	top: 0;
	left: 12px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-ms-flex-line-pack: center;
		align-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	padding: 0;
	z-index: 9;
}
div.sortable div.box div.box-content div.inner strong {
	padding: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}</style>						<div id="example1" class="sortable">
	<div id="box-1" class="box" draggable="true" data-box="box-1">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box" draggable="true" data-box="box-2">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="box-3" class="box" draggable="true" data-box="box-3">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>3</strong>
			</div>
		</div>
	</div>

	<div id="box-4" class="box" draggable="true" data-box="box-4">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>4</strong>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_64828abcac6fc97a58d4c4b38283882b" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Zunächst erstellst Du ein Eltern-Element. In meinem Beispiel ist es <code>&lt;div id="example1">&lt;/div></code>. In dieses Element fügst du die zu ordnen Elemente ein. Das sollte dann in etwa so aussehen:</p>
</article>		<div id="code-block_64828abcac6fc97a58d4c4b38283882b" class="codeblock">
			<div class="code-language">plaintext</div>
			<pre>
				<code class="language-plaintext" data-highlighted="yes">&lt;div id=&quotexample1&quot&gt;
    &lt;div id=&quotbox1&quot&gt;1&lt;/div&gt;
    &lt;div id=&quotbox2&quot&gt;2&lt;/div&gt;
    &lt;div id=&quotbox3&quot&gt;3&lt;/div&gt;
    &lt;div id=&quotbox4&quot&gt;4&lt;/div&gt;
&lt;/div&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_11a989f5396e172949d1c916fee70bc7" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Anschließend fügst Du den folgenden javascript hinzu und die Sortierung per Drag &#038; Drop sollte funktionieren.</p>
</article>		<div id="code-block_11a989f5396e172949d1c916fee70bc7" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery( function() {
    jQuery( &quotdiv#example1&quot ).sortable();
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_10ecf1c452734323634baee85df52018" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Placeholder hinzufügen</h3>
<p>Dieses Beispiel basiert auf dem ersten Beispiel und ist etwas angepasst. Ich habe es jedoch durch einen Placeholder erweitert. Dieser zeigt die neue Position des zu verschiebenden Elements an.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample2&quot class=&quotsortable&quot&gt;
	&lt;div id=&quotbox-1&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-3&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-3&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;3&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-4&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-4&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;4&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery( function() {
    jQuery( "div#example2" ).sortable({
		placeholder	:	'box placeholder',
    });
});</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">/*------------------*/
/* PLACEHOLDER BOX */
/*------------------*/
div.sortable div.box.placeholder {
	border: 2px dashed #78AD80;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>/*------------------*/
/* PLACEHOLDER BOX */
/*------------------*/
div.sortable div.box.placeholder {
	border: 2px dashed #78AD80;
}</style>						<div id="example2" class="sortable">
	<div id="box-1" class="box" draggable="true" data-box="box-1">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box" draggable="true" data-box="box-2">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="box-3" class="box" draggable="true" data-box="box-3">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>3</strong>
			</div>
		</div>
	</div>

	<div id="box-4" class="box" draggable="true" data-box="box-4">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>4</strong>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_625aa9bc4083a8c5bb9d249551df5154" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Die Option <code>placeholder</code> fügt automatisch ein neues Element hinzu (<code>&lt;div class="box placeholder">&lt;/div></code>). Dieses Element kannst Du anschließend in der CSS-Datei stylen.</p>
</article>		<div id="code-block_625aa9bc4083a8c5bb9d249551df5154" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery( function() {
    jQuery( &quotdiv#example2&quot ).sortable({
		placeholder	:	'box placeholder',
    });
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_1f1981e98d563312b0a14fe55c92028b" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Fixed Element</h3>
<p>Die rote Box in diesem Beispiel ist ein fixiertes Element, welches nicht verschoben werden kann. Es kann auch kein anderes Element hinter dieses Element gepackt werden.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample3&quot class=&quotsortable&quot&gt;
	&lt;div id=&quotbox-1&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-3&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-3&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;3&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-4&quot class=&quotbox fixed&quot draggable=&quottrue&quot data-box=&quotbox-4&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;Fix&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery( function() {
    jQuery( "div#example3" ).sortable({
		placeholder	:	'box placeholder',
        fixed		:	'div.box.fixed',
		items		:	'div.box:not(.fixed)',
    });
});</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">/*-----------*/
/* FIXED BOX */
/*-----------*/
div.sortable div.box.fixed div.box-content {
    background: #ef5c74;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>/*-----------*/
/* FIXED BOX */
/*-----------*/
div.sortable div.box.fixed div.box-content {
    background: #ef5c74;
}</style>						<div id="example3" class="sortable">
	<div id="box-1" class="box" draggable="true" data-box="box-1">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box" draggable="true" data-box="box-2">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="box-3" class="box" draggable="true" data-box="box-3">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>3</strong>
			</div>
		</div>
	</div>

	<div id="box-4" class="box fixed" draggable="true" data-box="box-4">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>Fix</strong>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_92315dc990b98df97c6568019963e2ea" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Wie im folgenden Code zu sehen, wird die <code>function</code> einfach nur mit den Optionen <strong>fixed</strong> und <strong>items</strong> erweitert.</p>
<ul>
<li><strong>fixed:</strong> Klassennamen des zu fixenden Elements angeben</li>
<li><strong>items:</strong> Hier wird definiert, welche Elemente überhaupt per Drag &#038; Drop verschoben werden dürfen.</li>
</ul>
</article>		<div id="code-block_92315dc990b98df97c6568019963e2ea" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery( function() {
    jQuery( &quotdiv#example3&quot ).sortable({
		placeholder	:	'box placeholder',
        fixed		:	'div.box.fixed',
		items		:	'div.box:not(.fixed)',
    });
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_e3ba9d4307cfe74ae864260be8943486" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Container hinzufügen &#8211; Sortable unendliches Scrollen verhindern</h3>
<p>Wer im vorherigen Beispiel ein Element nach ganz rechts bewegt hat, der wird festgestellt haben, dass dies ein unendliches Scrollen verursacht. Natürlich nicht schön. Um dies zu verhindern kann man due function durch die option <strong>containment</strong> erweitern. In dieser gibst du das übergeordnete Element an, in welchem sich die sortable Aktion ausführen lassen darf. Und via css gibst du der Klasse <strong>overflow: hidden</strong> an.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>										
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample4&quot class=&quotsortable&quot&gt;
	&lt;div id=&quotbox-1&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-3&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-3&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;3&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-4&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-4&quot&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;4&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery( function() {
    jQuery( "div#example4" ).sortable({
		placeholder	:	'box placeholder',
		containment	:	'#example4',
    });
});</code>
								</pre>
							</div>
						</div>
										
										
					<div class="demo-box demo-box-view active">
												<div id="example4" class="sortable">
	<div id="box-1" class="box" draggable="true" data-box="box-1">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box" draggable="true" data-box="box-2">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="box-3" class="box" draggable="true" data-box="box-3">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>3</strong>
			</div>
		</div>
	</div>

	<div id="box-4" class="box" draggable="true" data-box="box-4">
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>4</strong>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_3deb5a3e16f10efd753e9511f996a53b" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Boxen entfernen / löschen</h3>
<p>In diesem scrollable Beispiel kannst Du <strong>Elemente entfernen</strong>. Dazu müsst Ihr einige Zeilen javascript schreiben oder kopieren.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample5&quot class=&quotsortable&quot&gt;
	&lt;div id=&quotbox-1&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-1&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;1&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-2&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-2&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;2&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-3&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-3&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;3&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quotbox-4&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-4&quot&gt;
		&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-placeholder&quot&gt;&lt;/div&gt;
		&lt;div class=&quotbox-content&quot&gt;
			&lt;div class=&quotinner&quot&gt;
				&lt;strong&gt;4&lt;/strong&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery( function() {
    jQuery( "div#example5" ).sortable({
		placeholder	:	'box placeholder',
    });
});

// REMOVE BOX
jQuery('div#example5 div.box div.box-remove').on('click', function() {
    var id  =   jQuery(this).parent().attr('id');
    removeBox5(id);
});

function removeBox5(id) {
	jQuery('div#example5 div#' + id).remove();
}</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">/*-------------*/
/* REMOVE BOX */
/*-------------*/
div.sortable div.box div.box-remove {
    position: absolute;
	right: 28px;
	top: 16px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	z-index: 99;
}
div.sortable div.box div.box-remove::before,
div.sortable div.box div.box-remove::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 100%;
	background: #eee;
	top: 0;
	left: 50%;
	border-radius: 2px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box div.box-remove::before {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
div.sortable div.box div.box-remove::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
div.sortable div.box div.box-remove:hover::before,
div.sortable div.box div.box-remove:hover::after {
	background: #4B5055;
}
</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>/*-------------*/
/* REMOVE BOX */
/*-------------*/
div.sortable div.box div.box-remove {
    position: absolute;
	right: 28px;
	top: 16px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	z-index: 99;
}
div.sortable div.box div.box-remove::before,
div.sortable div.box div.box-remove::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 100%;
	background: #eee;
	top: 0;
	left: 50%;
	border-radius: 2px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box div.box-remove::before {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
div.sortable div.box div.box-remove::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
div.sortable div.box div.box-remove:hover::before,
div.sortable div.box div.box-remove:hover::after {
	background: #4B5055;
}
</style>						<div id="example5" class="sortable">
	<div id="box-1" class="box" draggable="true" data-box="box-1">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>1</strong>
			</div>
		</div>
	</div>

	<div id="box-2" class="box" draggable="true" data-box="box-2">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>2</strong>
			</div>
		</div>
	</div>

	<div id="box-3" class="box" draggable="true" data-box="box-3">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>3</strong>
			</div>
		</div>
	</div>

	<div id="box-4" class="box" draggable="true" data-box="box-4">
		<div class="box-remove"></div>
		<div class="box-placeholder"></div>
		<div class="box-content">
			<div class="inner">
				<strong>4</strong>
			</div>
		</div>
	</div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_e2dd174dbbb09b5cc8c010710ea4c7f1" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Zunächst einmal fügt Ihr den Boxen ein neues Element hinzu. In meinem Beispiel habe ich sie wie folgt benannt:</p>
</article>		<div id="code-block_e2dd174dbbb09b5cc8c010710ea4c7f1" class="codeblock">
			<div class="code-language">html</div>
			<pre>
				<code class="language-xml" data-highlighted="yes">&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_c179b81712daa576743525ac9408bf06" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Diese könnt Ihr nach belieben stylen. Anschließend habe ich eine <code>function</code> erstellt, die auf ein <code>click</code> reagiert und das übergeordnete Element löscht, in dem sich <code>&lt;div class="box-remove">&lt;/div></code> befindet.</p>
</article>		<div id="code-block_c179b81712daa576743525ac9408bf06" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery('div#example5 div.box div.box-remove').on('click', function() {
    var id  =   jQuery(this).parent().attr('id');
    removeBox(id);
});

function removeBox(id) {
	jQuery('div#example5 div#' + id).remove();
}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_0f39a35c45964afad4c0c326da31d5e9" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Boxen entfernen und hinzufügen</h3>
<p>Nun habe ich die Boxen entfernt. Nun möchte ich aber auch neue Boxen hinzufügen. In diesem Beispiel siehst Du die Funktionsweise, wie man Boxen löschen, hinzufügen und trotzdem via Drag &#038; Drop sortieren kann.</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample6&quot class=&quotsortable&quot&gt;
    &lt;div id=&quotempty&quot class=&quotbox empty&quot&gt;
        &lt;div class=&quotbox-content&quot&gt;
            &lt;div class=&quotselect transition&quot&gt;
                &lt;div class=&quotchooser&quot&gt;
                    &lt;ul&gt;
                        &lt;li class=&quotbox-1&quot data-box=&quot1&quot&gt;Box 1 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-2&quot data-box=&quot2&quot&gt;Box 2 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-3&quot data-box=&quot3&quot&gt;Box 3 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-4&quot data-box=&quot4&quot&gt;Box 4 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                    &lt;/ul&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">// DRAG & DROP
jQuery( function() {
	jQuery( "div#example6" ).sortable({
		placeholder	:	'box placeholder',
		fixed		:	'div.box.empty',
		items		:	'div.box:not(.empty)',
	});
});

// OPEN SELECT
jQuery('div#example6 div.box.empty div.select').on('click', function() {
	jQuery(this).toggleClass('open');
});

jQuery('body').click(function(e) {
	if (jQuery(e.target).closest('div#example6 div.box.empty div.select').length === 0) {
		jQuery('div#example6 div.box.empty div.select').removeClass('open');
	}
});

// ADD BOX
function addBox6( id ) {
	if ( id ) {
		var html = '<div id="box-' + id + '" class="box" draggable="true" data-box="box-' + id + '">' +
		'<div class="box-remove"></div>' +
		'<div class="box-content">' +
		'<div class="inner"><h2>' + id + '</h2></div>' +
		'</div>' +
		'</div>';
		jQuery(html).insertBefore( 'div#example6 div.box.empty' );
		removeBox6();
	}
}
jQuery('div#example6 li').on('click', function() {
	var id  =   jQuery(this).attr('data-box');
	jQuery(this).hide();
	addBox6(id);
})

// REMOBVE BOX
jQuery('div#example6 div.box div.box-remove').on('click', function() {
	var id  =   jQuery(this).parent().attr('id');
	removeBox6(id);
});

function removeBox6(id) {
	if ( id ) {
		jQuery('div#example6 div#' + id).remove();
		jQuery('div#example6 li.' + id).show();
	} else {
		jQuery('div#example6 div.box div.box-remove').on('click', function() {
			var id  =   jQuery(this).parent().attr('id');
			removeBox6(id);
		});
	}
}</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">/*------------*/
/* EMPTY BOX */
/*------------*/
div.sortable div.box.empty div.box-content {
	border: 2px dashed #adb5bd;
	border-radius: 4px;
}
div.sortable div.box.empty div.select {
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-line-pack: center;
	    align-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 4px;
}
div.sortable div.box.empty div.select:hover {
	background: #fff;
}
div.sortable div.box.empty div.select div.chooser {
	width: 24px;
	height: 24px;
	display: table;
	margin: 0 auto;
	cursor: pointer;
	position: relative;
}
div.sortable div.box.empty div.select div.chooser::before,
div.sortable div.box.empty div.select div.chooser::after {
	content: '';
	position: absolute;
	background: #adb5bd;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.empty div.select:hover div.chooser::before,
div.sortable div.box.empty div.select:hover div.chooser::after {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}
div.sortable div.box.empty div.select div.chooser::before {
	top: 50%;
	margin-top: -1px;
	width: 100%;
	height: 2px;
}
div.sortable div.box.empty div.select div.chooser::after {
	left: 50%;
	margin-left: -1px;
	width: 2px;
	height: 100%;
	top: 0;
}
div.sortable div.box.empty div.select.open div.chooser::after {
	top: 50%;
	height: 2px;
	margin-top: -1px;
}
div.sortable div.box.empty div.select ul {
	position: absolute;
	left: 50%;
	top: 24px;
	background: #fff;
	width: 200px;
	font-size: 14px;
	padding: 0;
	margin-left: -100px;
	z-index: 99;
	border: 1px solid #eee;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.15);
	        box-shadow: 0 0 20px rgba(0,0,0,0.15);
	border-radius: 4px;
	overflow: hidden;
	opacity: 0;
	display: none;
}
div.sortable div.box.empty div.select.open ul {
	-webkit-animation-name: showSelectUl;
	        animation-name: showSelectUl;
	-webkit-animation-delay: 0.1s;
	        animation-delay: 0.1s;
	-webkit-animation-duration: 0.2s;
	        animation-duration: 0.2s;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	        animation-iteration-count: 1;
	-webkit-animation-timing-function: ease-in-out;
	        animation-timing-function: ease-in-out;
	display: block;
}
@-webkit-keyframes showSelectUl {
	0% {
		top: 24px;
		opacity: 0;
	} 100% {
		top: 32px;
		opacity: 1;
	}
}
@keyframes showSelectUl {
	0% {
		top: 24px;
		opacity: 0;
	} 100% {
		top: 32px;
		opacity: 1;
	}
}
div.sortable div.box.empty div.select ul li {
	list-style: none;
	padding: 8px 16px 8px 40px;
	cursor: pointer;
	color: #96959b;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	position: relative;
}
div.sortable div.box.empty div.select ul li:hover {
	background: #f5f5f5;
	color: #4B5055;
}
div.sortable div.box.empty div.select ul li i {
	margin-right: 8px;
	position: absolute;
	left: 16px;
	top: 12px;
}
div.sortable div.box.empty div.select ul li small {
	float: right;
	opacity: 0;
	margin-right: -8px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.empty div.select ul li:hover small {
	opacity: 1;
	margin-right: 0;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>/*------------*/
/* EMPTY BOX */
/*------------*/
div.sortable div.box.empty div.box-content {
	border: 2px dashed #adb5bd;
	border-radius: 4px;
}
div.sortable div.box.empty div.select {
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-line-pack: center;
	    align-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 4px;
}
div.sortable div.box.empty div.select:hover {
	background: #fff;
}
div.sortable div.box.empty div.select div.chooser {
	width: 24px;
	height: 24px;
	display: table;
	margin: 0 auto;
	cursor: pointer;
	position: relative;
}
div.sortable div.box.empty div.select div.chooser::before,
div.sortable div.box.empty div.select div.chooser::after {
	content: '';
	position: absolute;
	background: #adb5bd;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.empty div.select:hover div.chooser::before,
div.sortable div.box.empty div.select:hover div.chooser::after {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}
div.sortable div.box.empty div.select div.chooser::before {
	top: 50%;
	margin-top: -1px;
	width: 100%;
	height: 2px;
}
div.sortable div.box.empty div.select div.chooser::after {
	left: 50%;
	margin-left: -1px;
	width: 2px;
	height: 100%;
	top: 0;
}
div.sortable div.box.empty div.select.open div.chooser::after {
	top: 50%;
	height: 2px;
	margin-top: -1px;
}
div.sortable div.box.empty div.select ul {
	position: absolute;
	left: 50%;
	top: 24px;
	background: #fff;
	width: 200px;
	font-size: 14px;
	padding: 0;
	margin-left: -100px;
	z-index: 99;
	border: 1px solid #eee;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.15);
	        box-shadow: 0 0 20px rgba(0,0,0,0.15);
	border-radius: 4px;
	overflow: hidden;
	opacity: 0;
	display: none;
}
div.sortable div.box.empty div.select.open ul {
	-webkit-animation-name: showSelectUl;
	        animation-name: showSelectUl;
	-webkit-animation-delay: 0.1s;
	        animation-delay: 0.1s;
	-webkit-animation-duration: 0.2s;
	        animation-duration: 0.2s;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	        animation-iteration-count: 1;
	-webkit-animation-timing-function: ease-in-out;
	        animation-timing-function: ease-in-out;
	display: block;
}
@-webkit-keyframes showSelectUl {
	0% {
		top: 24px;
		opacity: 0;
	} 100% {
		top: 32px;
		opacity: 1;
	}
}
@keyframes showSelectUl {
	0% {
		top: 24px;
		opacity: 0;
	} 100% {
		top: 32px;
		opacity: 1;
	}
}
div.sortable div.box.empty div.select ul li {
	list-style: none;
	padding: 8px 16px 8px 40px;
	cursor: pointer;
	color: #96959b;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	position: relative;
}
div.sortable div.box.empty div.select ul li:hover {
	background: #f5f5f5;
	color: #4B5055;
}
div.sortable div.box.empty div.select ul li i {
	margin-right: 8px;
	position: absolute;
	left: 16px;
	top: 12px;
}
div.sortable div.box.empty div.select ul li small {
	float: right;
	opacity: 0;
	margin-right: -8px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
div.sortable div.box.empty div.select ul li:hover small {
	opacity: 1;
	margin-right: 0;
}</style>						<div id="example6" class="sortable">
    <div id="empty" class="box empty">
        <div class="box-content">
            <div class="select transition">
                <div class="chooser">
                    <ul>
                        <li class="box-1" data-box="1">Box 1 <small>hinzufügen</small></li>
                        <li class="box-2" data-box="2">Box 2 <small>hinzufügen</small></li>
                        <li class="box-3" data-box="3">Box 3 <small>hinzufügen</small></li>
                        <li class="box-4" data-box="4">Box 4 <small>hinzufügen</small></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_f953775669f8d916c198e8e0b700af69" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Zunächst einmal habe ich ein leere Box mit einem Select Feld erstellt. In diesem habe ich vier Auswahlelemente gepackt, die später per Klick als Box angezeigt werden sollen.</p>
</article>		<div id="code-block_f953775669f8d916c198e8e0b700af69" class="codeblock">
			<div class="code-language">php</div>
			<pre>
				<code class="language-php">&lt;div id=&quotempty&quot class=&quotbox empty&quot&gt;
        &lt;div class=&quotbox-content&quot&gt;
            &lt;div class=&quotselect transition&quot&gt;
                &lt;div class=&quotchooser&quot&gt;
                    &lt;ul&gt;
                        &lt;li class=&quotbox-1&quot data-box=&quot1&quot&gt;Box 1 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-2&quot data-box=&quot2&quot&gt;Box 2 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-3&quot data-box=&quot3&quot&gt;Box 3 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-4&quot data-box=&quot4&quot&gt;Box 4 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                    &lt;/ul&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_742ed50d28ef7608a2e94cef377ed360" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Nun muss das Dropdown Menü auch aufklappen. Dazu habe ich folgenden javascript geschrieben, welches auf einen click reagiert und schließt, wenn man irgendwo im Body klickt.</p>
</article>		<div id="code-block_742ed50d28ef7608a2e94cef377ed360" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">// OPEN SELECT
jQuery('div#example6 div.box.empty div.select').on('click', function() {
    jQuery(this).toggleClass('open');
});

jQuery('body').click(function(e) {
    if (jQuery(e.target).closest('div#example6 div.box.empty div.select').length === 0) {
        jQuery('div#example6 div.box.empty div.select').removeClass('open');
    }
});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_a7646044b18e29240bd5956636c91eb3" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Jetzt, wo Du das Dropdown öffnen kannst, benötigst Du eine neue function die auf den Click auf eines der Auswahlmöglichkeiten reagiert. Ich habe sie in meinen Beispiel <code>addBox()</code> genannt. Mit einen Klick auf ein li-Element wird dieses erst einmal durch <code>.hide()</code> ausgeblendet und ich übergebe der <code>function addBox()</code> die ID, die ich aus dem Attribut <code>data-box</code> gesammelt habe.</p>
<p>In der Funktion addBox() baue ich zunächst einmal in der Variable <code>html</code> die Box zusammen, welche angezeigt werden soll. Dann füge ich das <code>html</code> vor meiner Empty Box ein. Die Empty Box ist die Box, welches das Dropdown Menü beherbergt. </p>
</article>		<div id="code-block_a7646044b18e29240bd5956636c91eb3" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">// ADD BOX
function addBox( id ) {
	if ( id ) {
        var html = '&lt;div id=&quotbox-' + id + '&quot class=&quotbox&quot draggable=&quottrue&quot data-box=&quotbox-' + id + '&quot&gt;' +
            '&lt;div class=&quotbox-remove&quot&gt;&lt;/div&gt;' +
            '&lt;div class=&quotbox-content&quot&gt;' +
            '&lt;div class=&quotinner&quot&gt;&lt;h2&gt;' + id + '&lt;/h2&gt;&lt;/div&gt;' +
            '&lt;/div&gt;' +
            '&lt;/div&gt;';
	jQuery(html).insertBefore( 'div#example6 div.box.empty' );
        removeBox();
	}
}
jQuery('div#example6 li').on('click', function() {
    var id  =   jQuery(this).attr('data-box');
    jQuery(this).hide();
    addBox(id);
})</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_df50ae3c6df5c2fe581660f61501427b" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Da beim Aufruf der <code>addBox()</code> Funktion neue Elemente dem DOM hinzugefügt werden, die das javascript vorher nicht kannte, musst Du die <code>removeBox()</code> Funktion noch etwas anpassen und zudem beim erstellen einer neuen Box immer wieder neu mit aufrufen.</p>
</article>		<div id="code-block_df50ae3c6df5c2fe581660f61501427b" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">// REMOBVE BOX
jQuery('div#example6 div.box div.box-remove').on('click', function() {
    var id  =   jQuery(this).parent().attr('id');
    removeBox(id);
});

function removeBox(id) {
    if ( id ) {
        jQuery('div#example6 div#' + id).remove();
        jQuery('div#example6 li.' + id).show();
    } else {
        jQuery('div#example6 div.box div.box-remove').on('click', function() {
            var id  =   jQuery(this).parent().attr('id');
            removeBox(id);
        });
    }
}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_b7a13ec45a157efe79f47acfc8bbcae0" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><h3>Maximale Anzahl festlegen</h3>
<p>Du kannst das vorherige Beispiel noch erweitern, indem du vorab definierst, wie viele Elemente überhaupt erstellt werden dürfen. In meinem Beispiel habe ich das Limit auf 2 gesetzt.</p>
<p><strong>Limit = 2</strong></p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>										
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotexample7&quot class=&quotsortable&quot&gt;
    &lt;div id=&quotempty&quot class=&quotbox empty&quot&gt;
        &lt;div class=&quotbox-content&quot&gt;
            &lt;div class=&quotselect transition&quot&gt;
                &lt;div class=&quotchooser&quot&gt;
                    &lt;ul&gt;
                        &lt;li class=&quotbox-1&quot data-box=&quot1&quot&gt;Box 1 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-2&quot data-box=&quot2&quot&gt;Box 2 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-3&quot data-box=&quot3&quot&gt;Box 3 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                        &lt;li class=&quotbox-4&quot data-box=&quot4&quot&gt;Box 4 &lt;small&gt;hinzufügen&lt;/small&gt;&lt;/li&gt;
                    &lt;/ul&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">// DRAG & DROP
jQuery( function() {
	jQuery( "div#example7" ).sortable({
		placeholder	:	'box placeholder',
		fixed		:	'div.box.empty',
		items		:	'div.box:not(.empty)',
	});
});

// OPEN SELECT
jQuery('div#example7 div.box.empty div.select').on('click', function() {
	jQuery(this).toggleClass('open');
});

jQuery('body').click(function(e) {
	if (jQuery(e.target).closest('div#example7 div.box.empty div.select').length === 0) {
		jQuery('div#example7 div.box.empty div.select').removeClass('open');
	}
});

// ADD BOX
function addBox( id ) {
	if ( id ) {
		var html = '&lt;div id=&quot;box-1&quot; class=&quot;box box-count&quot; draggable=&quot;true&quot; data-box=&quot;box-1&quot;&gt;&lt;div class=&quot;box-remove&quot;&gt;&lt;/div&gt;&lt;div class=&quot;box-content&quot;&gt;&lt;div class=&quot;inner&quot;&gt;&lt;h2&gt;1&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';
		jQuery(html).insertBefore( 'div#example7 div.box.empty' );
		removeBox();
		maxShow();
	}
}
jQuery('div#example7 li').on('click', function() {
	var id  =   jQuery(this).attr('data-box');
	jQuery(this).hide();
	addBox(id);
})

// REMOBVE BOX
jQuery('div#example7 div.box div.box-remove').on('click', function() {
	var id  =   jQuery(this).parent().attr('id');
	removeBox(id);
});

function removeBox(id) {
	if ( id ) {
		jQuery('div#example7 div#' + id).remove();
		jQuery('div#example7 li.' + id).show();
		maxShow();
	} else {
		jQuery('div#example7 div.box div.box-remove').on('click', function() {
			var id  =   jQuery(this).parent().attr('id');
			removeBox(id);
		});
	}
}

// MAX SHOW
function maxShow() {
	var max     =   2;
	var count	=	0;

	jQuery('div#example7 div.box-count').each(function() {
		count			+=	1;
	});

	if ( count >= max ) {
		jQuery('div#example7 div.box.empty').hide();
	} else {
		jQuery('div#example7 div.box.empty').show();
	}
}</code>
								</pre>
							</div>
						</div>
										
										
					<div class="demo-box demo-box-view active">
												<div id="example7" class="sortable">
    <div id="empty" class="box empty">
        <div class="box-content">
            <div class="select transition">
                <div class="chooser">
                    <ul>
                        <li class="box-1" data-box="1">Box 1 <small>hinzufügen</small></li>
                        <li class="box-2" data-box="2">Box 2 <small>hinzufügen</small></li>
                        <li class="box-3" data-box="3">Box 3 <small>hinzufügen</small></li>
                        <li class="box-4" data-box="4">Box 4 <small>hinzufügen</small></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_57724d714027b6b30cedb92e01af0fd9" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Damit die Box mit dem Dropdown Menü bei 2 &#8222;normalen&#8220; Boxen verschwindet, musst Du eine neue Funktion erstellen und diese in den Aufruf der <code>addBox()</code> und <code>removeBox()</code> hinzufügen. In dieser Funktion zählst Du dann mit each alle Boxen, die die Klasse <code>box-count</code> haben und speicherst die Anzahl in der Variablen <code>count</code>. Danach wird abgefragt, ob der Count größer gleich 2 ist. Wenn ja, dann füge <code>.hide()</code> an, ansonsten <code>.show()</code>.</p>
</article>		<div id="code-block_57724d714027b6b30cedb92e01af0fd9" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">// MAX SHOW
function maxShow() {
    var max     =   2;
    var count	=	0;

	jQuery('div#example7 div.box-count').each(function() {
		count			+=	1;
	});

    if ( count &gt;= max ) {
		jQuery('div#example7 div.box.empty').hide();
	} else {
		jQuery('div#example7 div.box.empty').show();
	}
}</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


	<section id="block_5da5378be5fffdf76482a5e24426ff8f" class="revilodesign revilodesign-text text section-11 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Ich hoffe Dir hat meine Anleitung und meine Beispiele gefallen. Wenn ja, dann würde ich mich über ein Kommentar oder Like freuen. Das gleiche gilt natürlich für Fragen oder Anregungen.</p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-sortable-drag-drop-anleitung-hinzufuegen-loeschen-reihenfolge-veraendern/">jQuery Sortable Drag &#038; Drop Anleitung &#8211; hinzufügen, löschen, Reihenfolge verändern</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/jquery-sortable-drag-drop-anleitung-hinzufuegen-loeschen-reihenfolge-veraendern/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>jQuery toggle switch</title>
		<link>https://www.revilodesign.de/blog/sonstiges/jquery-toggle-switch/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/jquery-toggle-switch/#respond</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Tue, 19 Feb 2019 16:55:10 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=1922</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-toggle-switch/">jQuery toggle switch</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section id="block_c7469a88f0911da911531bffa23785a9" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><p>Ein <strong>toggle switch</strong> ist eine nette Spielerei, wenn man eine Checkbox oder ein Radio Input Eingabefeld auf der Webseite dynamischer darstellen möchte. Klar, man kann das Input-Feld auch einfach nur anzeigen. Dies erfüllt sicherlich den gleichen Zweck wie der <strong>toggle switch mit jQuery</strong> &#8211; aber das kann ja jeder und sieht auch nicht schön aus. Daher baue ich gerne einen toggle switch ein und ich möchte Euch in diesem kleinen <strong>How-to</strong> zeigen, wie Ihr dies auch ganz einfach machen könnt.</p>
<h2>jQuery toggle Switch</h2>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div class=&quotslideControlContent&quot&gt;
	&lt;span class=&quotslideControl&quot&gt;&lt;/span&gt;
	&lt;span class=&quotslideControlCheckbox&quot&gt;&lt;input type=&quotcheckbox&quot /&gt;&lt;/span&gt;
	&lt;span class=&quotslideControlMessage&quot&gt;false&lt;/span&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery('span.slideControl').on('click', function() {

	var state	=	jQuery( 'input' ).prop('checked');
	
	if ( state == true ) {
		jQuery( this ).removeClass('active');
		jQuery( 'input' ).prop('checked', false );
		var status	=	'false';
	} else if ( state == false ) {
		jQuery( this ).addClass('active');
		jQuery( 'input' ).prop('checked', true );
		var status	=	'true';
	}

	jQuery( 'span.slideControlMessage' ).html( status );

});</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">div.slideControlContent {
	width: 100%;
	height: 200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding: 0 40%;
	text-align: center;
}
span.slideControl {
	flex: 1 100%;
	max-width: 40px;
	height: 10px;
	border-radius: 5px;
	background: #fff;
	display: inline-block;
	margin: 8px 8px 0 0;
	position: relative;
	cursor: pointer;
}
span.slideControl::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background: #d35d5d;
	box-shadow: inset 0 4px 8px 0 rgba(46,43,56,0.16);
	z-index: 1;
}
span.slideControl.active::before {
	background: #5dd39e;
}
span.slideControl::after {
	content: '';
	position: absolute;
	left: 2px;
	top: -7px;
	width: 24px;
	height: 24px;
	background: #3f3f3f;
	box-shadow: 0 4px 8px 0 rgba(46,43,56,0.16), 0 8px 16px 0 rgba(46,43,56,0.08), 0 16px 32px 0 rgba(46,43,56,0.04);
	z-index: 9;
	border-radius: 50%;
	margin: 0;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
span.slideControl.active::after {
	left: 100%;
	margin: 0 0 0 -26px;
}
span.slideControlCheckbox {
	flex: 1 100%;
	padding: 24px 0 12px 0;
}
span.slideControlMessage {
	flex: 1 100%;
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>div.slideControlContent {
	width: 100%;
	height: 200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding: 0 40%;
	text-align: center;
}
span.slideControl {
	flex: 1 100%;
	max-width: 40px;
	height: 10px;
	border-radius: 5px;
	background: #fff;
	display: inline-block;
	margin: 8px 8px 0 0;
	position: relative;
	cursor: pointer;
}
span.slideControl::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background: #d35d5d;
	box-shadow: inset 0 4px 8px 0 rgba(46,43,56,0.16);
	z-index: 1;
}
span.slideControl.active::before {
	background: #5dd39e;
}
span.slideControl::after {
	content: '';
	position: absolute;
	left: 2px;
	top: -7px;
	width: 24px;
	height: 24px;
	background: #3f3f3f;
	box-shadow: 0 4px 8px 0 rgba(46,43,56,0.16), 0 8px 16px 0 rgba(46,43,56,0.08), 0 16px 32px 0 rgba(46,43,56,0.04);
	z-index: 9;
	border-radius: 50%;
	margin: 0;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
span.slideControl.active::after {
	left: 100%;
	margin: 0 0 0 -26px;
}
span.slideControlCheckbox {
	flex: 1 100%;
	padding: 24px 0 12px 0;
}
span.slideControlMessage {
	flex: 1 100%;
}</style>						<div class="slideControlContent">
	<span class="slideControl"></span>
	<span class="slideControlCheckbox"><input type="checkbox" /></span>
	<span class="slideControlMessage">false</span>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


<section id="block_a33c61e17231eda69ca1aba73697cd65" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>In meinem <strong>toggle switch Beispiel</strong> habe ich die Checkbox mit Absicht sichtbar gelassen, damit Ihr seht, dass die Checkbox auch auf ein anderes Element reagieren kann als auf sich selbst. Wenn ihr den toggle switch in Eure Webseite einbindet solltet Ihr die Checkbox nicht anzeigen.</p>
<h3>Wie funktioniert der toggle switch mit jQuery?</h3>
<p>Zunächst einmal benötigen wir ein input Field und ein Element auf das wir ein click-Event legen. In meinem Fall sind es die folgenden Elemente:</p>
</article>		<div id="code-block_a33c61e17231eda69ca1aba73697cd65" class="codeblock">
			<div class="code-language">html</div>
			<pre>
				<code class="language-xml" data-highlighted="yes">&lt;input type=&quotcheckbox&quot /&gt;

&lt;span class=&quotslideControl&quot&gt;&lt;/span&gt;</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


<section id="block_4fc8700c59fb6149078673a853eb5734" class="revilodesign code">
	<div class="content">
		<article class="article-content"><p>Nun können wir mit <code>.prop('checked')</code> den Status der Checkbox auslesen. Bekommen wir ein <em>true</em> zurück, dann entfernen wir bei <code>.slideControl</code> die Klasse <em>active</em> und ändern den checked Status auf <em>false</em>. Somit entfernen wir den Haken aus der Checkbox und lassen den toggle switch in die Off-Stellung bewegen. </p>
<p>Bekommen wir ein false zurück fügen wir die Klasse <em>active</em> hinzu und geben der Checkbox den Status <em>true</em>. Damit wander der switch in die On-Stellung und die Checkbox ist aktiv.</p>
</article>		<div id="code-block_4fc8700c59fb6149078673a853eb5734" class="codeblock">
			<div class="code-language">javascript</div>
			<pre>
				<code class="language-javascript">jQuery('span.slideControl').on('click', function() {

	var state	=	jQuery( 'input' ).prop('checked');
	
	if ( state == true ) {
		jQuery( this ).removeClass('active');
		jQuery( 'input' ).prop('checked', false );
	} else if ( state == false ) {
		jQuery( this ).addClass('active');
		jQuery( 'input' ).prop('checked', true );
	}

});</code>
			</pre>
			<div class="toggleCode" data-text="Weniger anzeigen">Mehr anzeigen</div>
		</div>
	</div>
</section>


	<section id="block_25c5dd2392246cb44c8a82755144db59" class="revilodesign revilodesign-text text section-12 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Mit <a href="https://www.revilodesign.de/blog/sonstiges/jquery-data-attribute-in-variable-speichern-und-auslesen/" title="jQuery Data Attributen">jQuery Data Attributen</a> könnt Ihr zudem noch einige weitere Spielereien anzeigen lassen.</p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/jquery-toggle-switch/">jQuery toggle switch</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/jquery-toggle-switch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Modernen Overlayer (Pop-Up) für die Webseite erstellen</title>
		<link>https://www.revilodesign.de/blog/sonstiges/modernen-overlayer-pop-up-fuer-die-webseite-erstellen/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/modernen-overlayer-pop-up-fuer-die-webseite-erstellen/#respond</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Thu, 31 Jan 2019 12:43:31 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=1799</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/modernen-overlayer-pop-up-fuer-die-webseite-erstellen/">Modernen Overlayer (Pop-Up) für die Webseite erstellen</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section id="block_daae3313aecec5be5ff6985abb3be527" class="revilodesign demo">
	<div class="content">
		<article class="article-content"><p>Ich möchte euch zeigen, wie Ihr einen <strong>modernen Overlayer für Eure eigene Webseite mit Ajax</strong> erstellen könnt. Ich bin kein Freund von nervigen Pop-Ups und möchte hoffen, dass mein Beispiel-Code dafür auch nie missbraucht wird. Jedoch brauchte ich einen <strong>einfachen und eleganten Overlayer</strong> für eine One-Pager Seite in dem das Impressum und die Datenschutzerklärung geladen wird. Somit vermeide ich 2 Unterseiten und habe alles kompakt auf einer Seite und dank Ajax wird der Inhalt der 2 Seiten im Quelltext nicht geladen.</p>
<h2>So erstellst auch Du einen einfachen Overlayer für deine Webseite</h2>
<p>Im folgenden Beispiel zeige ich Euch meine Lösung des <strong>eigenen Overlayer mit Ajax</strong>. Klickt dazu einfach auf &#8222;Open Wrapper&#8220; und &#8222;see the magic&#8220; 😉</p>
</article>		
					<div class="demo">
				<ul class="tabs">
					<li data-brush="view" class="active"><i class="fa-regular fa-eye"></i></li>					<li data-brush="html"><i class="fa-brands fa-html5"></i> HTML</li>					<li data-brush="js"><i class="fa-brands fa-js"></i> JS</li>					<li data-brush="css"><i class="fa-brands fa-css3"></i> CSS</li>					
				</ul>
				<div class="demoBoxWrapper">
					
											<div class="demo-box demo-box-html">
							<div class="codeblock">
								<div class="code-language">HTML</div>
								<pre>
									<code class="language-xml">&lt;div id=&quotopenwrapper&quot&gt;
    &lt;div class=&quotbtn&quot data-file=&quottestdoc&quot&gt;Open Wrapper&lt;/div&gt;
    &lt;div id=&quotthewrapper&quot&gt;
        &lt;div class=&quotwrapper-bg wrapper-close&quot&gt;&lt;/div&gt;
        &lt;div class=&quotwrapper-cross wrapper-close&quot&gt;
            &lt;span&gt;&lt;/span&gt;
            &lt;span&gt;&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quotcontent&quot&gt;
            &lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;

            &lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;

            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;
            &lt;p&gt;&lt;/p&gt;
            &lt;div class=&quotwrapper-close wrapper-close-text&quot&gt;schließen&lt;/div&gt;
            &lt;p&gt;&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-js">
							<div class="codeblock">
								<div class="code-language">JS</div>
								<pre>
									<code class="language-javascript">jQuery(document).ready( function() {
	
	jQuery('div#openwrapper div.btn').on('click', function() {
		var dataFile	=	jQuery(this).attr('data-file');
		wrapperClose();
		if ( dataFile ) {
			jQuery( 'div#thewrapper' ).addClass( 'active' );
			$.ajax({
				url			:	'https://dev.revilodesign.de/wp-content/themes/revilodesign/' + dataFile + '.php',
				dataType	:	'html',
				success 	:	function (data) {
					jQuery( 'div#thewrapper div.content' ).html( data + '<p><div class="wrapper-close wrapper-close-text">schließen</div></p>' );
					wrapperClose();
				}
			});
		}
	});
	
	function wrapperClose() {
		jQuery('div.wrapper-close').on('click', function() {
			jQuery( 'div#thewrapper' ).removeClass( 'active' );
			jQuery( 'div#thewrapper div.content' ).html( '' );				
		});
	}
	
	jQuery(document).keyup(function(e) {
		if (e.key === "Escape") {
			wrapperClose();
		}
		if (e.keyCode === 27) {
			wrapperClose();
		}
	});
	
});</code>
								</pre>
							</div>
						</div>
										
											<div class="demo-box demo-box-css">
							<div class="codeblock">
								<div class="code-language">CSS</div>
								<pre>
									<code class="language-css">div#openwrapper {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center ;
	overflow: hidden;
}
div#openwrapper div.btn {
	cursor: pointer;
	display: table:
	margin: 0 auto;
}
div#thewrapper {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 999;
	left: 0;
	bottom: -110%;
	background: rgba(0, 0, 0, 0.9);
	padding: 24px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
div#thewrapper.active {
	bottom: 0;
}
div#thewrapper div.wrapper-bg {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	left: 0;
	bottom: 0;
}
div#thewrapper div.wrapper-cross {
	width: 100%;
	height: 100%;
	position: absolute;
	right: 8px;
	top: 8px;
	width: 48px;
	height: 48px;
	cursor: pointer;
	z-index: 998;
}
div#thewrapper div.wrapper-cross span {
	background: #fff;
	width: 60%;
	display: block;
	height: 3px;
	border-radius: 3px;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	position: absolute;
	left: 20%;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
div#thewrapper div.wrapper-cross span:nth-child(1),
div#thewrapper div.wrapper-cross span:nth-child(2) {
	top: 22px;
}
div#thewrapper div.wrapper-cross span:nth-child(1) {
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
div#thewrapper div.wrapper-cross span:nth-child(2) {
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
div#thewrapper div.wrapper-close-text {
	display: inline-block;
	cursor: pointer;
}
div#thewrapper div.wrapper-close-text:hover {
	color: #4EB9EB;
	text-decoration: underline;
}
div#thewrapper div.content {
	background: #fff;
	position: relative;
	z-index: 999;
	height: 80%;
	overflow: auto;
	padding: 24px;
	width: 80%;
	border-radius: 8px;
	border: 1px solid #f0f3f9;
	box-shadow: 0 4px 8px 0 rgba(46,43,56,0.16), 0 8px 16px 0 rgba(46,43,56,0.08), 0 16px 32px 0 rgba(46,43,56,0.04);
}</code>
								</pre>
							</div>
						</div>
										
					<div class="demo-box demo-box-view active">
						<style>div#openwrapper {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center ;
	overflow: hidden;
}
div#openwrapper div.btn {
	cursor: pointer;
	display: table:
	margin: 0 auto;
}
div#thewrapper {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 999;
	left: 0;
	bottom: -110%;
	background: rgba(0, 0, 0, 0.9);
	padding: 24px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
div#thewrapper.active {
	bottom: 0;
}
div#thewrapper div.wrapper-bg {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	left: 0;
	bottom: 0;
}
div#thewrapper div.wrapper-cross {
	width: 100%;
	height: 100%;
	position: absolute;
	right: 8px;
	top: 8px;
	width: 48px;
	height: 48px;
	cursor: pointer;
	z-index: 998;
}
div#thewrapper div.wrapper-cross span {
	background: #fff;
	width: 60%;
	display: block;
	height: 3px;
	border-radius: 3px;
	border-radius: 1px;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	position: absolute;
	left: 20%;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
div#thewrapper div.wrapper-cross span:nth-child(1),
div#thewrapper div.wrapper-cross span:nth-child(2) {
	top: 22px;
}
div#thewrapper div.wrapper-cross span:nth-child(1) {
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
div#thewrapper div.wrapper-cross span:nth-child(2) {
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
div#thewrapper div.wrapper-close-text {
	display: inline-block;
	cursor: pointer;
}
div#thewrapper div.wrapper-close-text:hover {
	color: #4EB9EB;
	text-decoration: underline;
}
div#thewrapper div.content {
	background: #fff;
	position: relative;
	z-index: 999;
	height: 80%;
	overflow: auto;
	padding: 24px;
	width: 80%;
	border-radius: 8px;
	border: 1px solid #f0f3f9;
	box-shadow: 0 4px 8px 0 rgba(46,43,56,0.16), 0 8px 16px 0 rgba(46,43,56,0.08), 0 16px 32px 0 rgba(46,43,56,0.04);
}</style>						<div id="openwrapper">
    <div class="btn" data-file="testdoc">Open Wrapper</div>
    <div id="thewrapper">
        <div class="wrapper-bg wrapper-close"></div>
        <div class="wrapper-cross wrapper-close">
            <span></span>
            <span></span>
        </div>
        <div class="content">
            <h2>Lorem ipsum dolor sit amet</h2>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <h2>Lorem ipsum dolor sit amet</h2>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <h2>Lorem ipsum dolor sit amet</h2>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

            <h2>Lorem ipsum dolor sit amet</h2>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
            <p></p>
            <div class="wrapper-close wrapper-close-text">schließen</div>
            <p></p>
        </div>
    </div>
</div>					</div>
					
				</div>
			</div>
				
	</div>
</section>


	<section id="block_dabbe3a5dbb458504a36faa3981a4588" class="revilodesign revilodesign-text text section-13 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><h3>Wie funktioniert die Overlayer Demo?</h3>
<p>Mein Beispiel reagiert auf die Klasse <code>div.btn</code> (ihr könnt auch mehrere Divs mit der gleichen Klasse hinzufügen). Erfolgt ein Klick auf den Button lese ich den value von <code>data-file</code> aus. Dort hinterlege ich den Namen des Dokuments, wessen Inhalt später beim Klick geladen werden soll.</p>
<p>Anschließend lade ich die Datei via Ajax und gebe den Inhalt im <code>div.content</code> aus und füge noch ein div mit der Klasse wrapper-close an.</p>
<h3>Wie schließe ich den Overlayer-Wrapper?</h3>
<p>In meinem Overlayer Beispiel habe ich mehrere Möglichkeiten eingebaut, wie der Layer geschlossen werden kann.</p>
<ol>
<li>Klick auf das X oben rechts</li>
<li>Klick auf den blauen Hintergrund</li>
<li>Klick auf das zuvor hinzugefügte &#8222;schließen&#8220; im content</li>
</ol>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/modernen-overlayer-pop-up-fuer-die-webseite-erstellen/">Modernen Overlayer (Pop-Up) für die Webseite erstellen</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/modernen-overlayer-pop-up-fuer-die-webseite-erstellen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mac Screenshot Vorschau deaktivieren</title>
		<link>https://www.revilodesign.de/blog/sonstiges/mac-screenshot-vorschau-deaktivieren/</link>
					<comments>https://www.revilodesign.de/blog/sonstiges/mac-screenshot-vorschau-deaktivieren/#comments</comments>
		
		<dc:creator><![CDATA[Oliver Götze]]></dc:creator>
		<pubDate>Fri, 18 Jan 2019 06:57:17 +0000</pubDate>
				<category><![CDATA[Sonstiges]]></category>
		<guid isPermaLink="false">https://www.revilodesign.de/?p=1734</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mac-screenshot-vorschau-deaktivieren/">Mac Screenshot Vorschau deaktivieren</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></description>
										<content:encoded><![CDATA[	<section id="block_2225b03751b8950a148a78a82f116a7c" class="revilodesign revilodesign-text text section-14 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Seit dem neuen <strong>Betriebssystem macOS Mojave</strong> gibt es einige neue Funktionen die mehr oder weniger nützlich sind. Zu den eher unnützlichen neuen Features zählt für mich unter anderem <strong>die Screenshot Vorschau</strong> unten rechts, die mir ehrliche gesagt, total gegen den Strich geht. Es dauert einfach viel zu lange, bis der Screenshot auf dem Desktop erscheint. Um genau zu sein &#8211; <strong>6 Sekunden</strong>. Bisher habe ich mir immer damit geholfen, dass ich die Screenshot Vorschau angeklickt und mit ESC weggeklickt habe. Aber das konnte doch nicht &#8222;DIE Lösung&#8220; sein.</p>
<p>Macht einfach mal selbst den Test, vorausgesetzt Ihr sitzt gerade selbst an einem Mac und macht mit <code>cmd+shift+3</code> ein Screenshot eures aktuellen Bildschirms und zählt mit. Es sollten am Ende satte sechs Sekunden auf der inneren Uhr stehen. Für jemanden wie mich, der keinerlei Nutzen und Verwendung dafür hat muss also eine Lösung her um <strong>die macOS Screenshot Vorschau deaktivieren</strong> zu können. </p>
<h2>Screenshot Vorschau macOS Mojave entfernen &#8211; So geht&#8217;s:</h2>
<p>Zum Glück gibt es eine schnelle und einfache Lösung des Problems. Um <strong>die Screenshot Vorschau auf dem Mac zu deaktivieren</strong> müsst Ihr zunächst einmal mit der Tastenkombination <code>cmd+shift+5</code> drücken. Anschließend solltet Ihr folgenden Bildschirm sehen:</p>
</article>				</div>
							</div>
		</div>
			</section>


<section id="block_4b09817ef069e60b2c7e09b21d90ea20" class="revilodesign image">
	<div class="content">
		<p><span class="image-wrapper"><span class="image">
		<picture class="aligncenter pixel" data-image="1736">
			<source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-300x211.webp" type="image/webp" media="(max-width: 300px)" width="300" height="211"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-300x211.jpg" type="image/jpeg" media="(max-width: 300px)" width="300" height="211"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1024x721.webp" type="image/webp" media="(max-width: 1024px)" width="1024" height="721"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1024x721.jpg" type="image/jpeg" media="(max-width: 1024px)" width="1024" height="721"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-150x150.webp" type="image/webp" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-150x150.jpg" type="image/jpeg" media="(max-width: 150px)" width="150" height="150"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-768x541.webp" type="image/webp" media="(max-width: 768px)" width="768" height="541"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-768x541.jpg" type="image/jpeg" media="(max-width: 768px)" width="768" height="541"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-400x282.webp" type="image/webp" media="(max-width: 400px)" width="400" height="282"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-400x282.jpg" type="image/jpeg" media="(max-width: 400px)" width="400" height="282"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-500x352.webp" type="image/webp" media="(max-width: 500px)" width="500" height="352"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-500x352.jpg" type="image/jpeg" media="(max-width: 500px)" width="500" height="352"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-600x422.webp" type="image/webp" media="(max-width: 600px)" width="600" height="422"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-600x422.jpg" type="image/jpeg" media="(max-width: 600px)" width="600" height="422"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-700x493.webp" type="image/webp" media="(max-width: 700px)" width="700" height="493"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-700x493.jpg" type="image/jpeg" media="(max-width: 700px)" width="700" height="493"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-800x563.webp" type="image/webp" media="(max-width: 800px)" width="800" height="563"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-800x563.jpg" type="image/jpeg" media="(max-width: 800px)" width="800" height="563"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-900x634.webp" type="image/webp" media="(max-width: 900px)" width="900" height="634"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-900x634.jpg" type="image/jpeg" media="(max-width: 900px)" width="900" height="634"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1000x704.webp" type="image/webp" media="(max-width: 1000px)" width="1000" height="704"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1000x704.jpg" type="image/jpeg" media="(max-width: 1000px)" width="1000" height="704"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1100x774.webp" type="image/webp" media="(max-width: 1100px)" width="1100" height="774"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1100x774.jpg" type="image/jpeg" media="(max-width: 1100px)" width="1100" height="774"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1200x845.webp" type="image/webp" media="(max-width: 1200px)" width="1200" height="845"><source srcset="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren-1200x845.jpg" type="image/jpeg" media="(max-width: 1200px)" width="1200" height="845">
			<img loading="lazy" decoding="async" src="https://www.revilodesign.de/media/mac-screenshot-vorschau-deaktivieren.webp" alt="mac screenshot vorschau deaktivieren" width="1280" height="901" />
		</picture></span></span></p>
	</div>
</section>


	<section id="block_21c60b253ac72177355e8910704bd647" class="revilodesign revilodesign-text text section-15 bg-color-white section-width-full section-height-auto content-width-content content-align-left text-align-left">
		<div class="content">
			<div class="flex alignCenter">
								<div class="flexbox text right asset-type-empty">
					<article class="article-content"><p>Klickt auf &#8222;Optionen&#8220; und entfernt den Haken bei &#8222;Schwebende Miniatur anzeigen&#8220;. Nun sollte dein Mac die <strong>Screenshots sofort auf dem Schreibtisch speichern</strong> und das innerhalb von maximal 2 Sekunden ohne davor die schwebende Miniaturansicht anzuzeigen. </p>
<p><em>Wir nervig fandet Ihr die Screenshot Vorschau unter dem neuen macOS Betriebssystem oder nutzt Ihr diese?</em></p>
</article>				</div>
							</div>
		</div>
			</section>
<p>Der Beitrag <a href="https://www.revilodesign.de/blog/sonstiges/mac-screenshot-vorschau-deaktivieren/">Mac Screenshot Vorschau deaktivieren</a> erschien zuerst auf <a href="https://www.revilodesign.de">revilodesign</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.revilodesign.de/blog/sonstiges/mac-screenshot-vorschau-deaktivieren/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
