juxtapose.knightlab.com
Open in
urlscan Pro
23.23.237.182
Public Scan
Submitted URL: http://juxtapose.knightlab.com/
Effective URL: https://juxtapose.knightlab.com/
Submission: On June 09 via api from US — Scanned from DE
Effective URL: https://juxtapose.knightlab.com/
Submission: On June 09 via api from US — Scanned from DE
Form analysis
1 forms found in the DOM<form id="authoring-form">
<h4>Images</h4>
<p class="gif-content" style="display: none;">For GIF Juxtapose, you can upload images from your computer or from Dropbox, or provide direct URLs to images. Make sure your images are the same size, or at least the same aspect ratio.</p>
<p class="interactive-content">For interactive Juxtapose, you can load images from Dropbox, or provide direct URLs to images. We don't support uploads for interactive Juxtapose. </p>
<div class="grid">
<div class="column-6">
<h6>Left Image</h6>
<div class="gif-content upload-box" style="display: none;">
<div id="image-upload-wrap-1" class="image-upload-wrap">
<input id="file-upload-input-1" class="file-upload-input" type="file" onchange="readURL(this, '1');" accept="image/*">
<div id="drag-text-1" class="drag-text">
<h3>drag and drop or click to upload an image</h3>
</div>
</div>
<div id="file-upload-content-1" class="file-upload-content">
<button id="remove-image-1" type="button" onclick="removeUpload('1')" class="button button-primary button-smallest remove-image">remove image</button>
<img id="file-upload-image-1" class="file-upload-image" src="#" alt="your image">
</div>
</div>
<div class="input-group-label interactive-content">
<label class="input-group-addon" for="inlinelabel">URL</label>
<input id="before-src" class="urlBox auto-update" type="text" value="https://juxtapose.knightlab.com/static/img/Sochi_11April2005.jpg" name="inlinelabel">
<a class="button button-light button-smallest dropbox-picker" data-image="before"><span class="icon-dropbox"></span></a>
</div>
<div class="input-group-label gif-content" style="display: none;">
<label class="input-group-addon" for="inlinelabel">URL</label>
<input id="gif-before-src" class="urlBox auto-update" onchange="gifBeforeChange()" type="text" value="" name="inlinelabel">
<a class="button button-light button-smallest dropbox-picker" data-image="before"><span class="icon-dropbox"></span></a>
</div>
<div class="grid interactive-content">
<div class="grid-item">
<div class="input-group-label">
<label class="input-group-addon" for="inlinelabel">Label</label>
<input id="before-label" class="auto-update" type="text" placeholder="Apr. 2005" name="inlinelabel">
</div>
</div>
<div class="grid-item">
<div class="input-group-label">
<label class="input-group-addon" for="inlinelabel">Credit</label>
<input id="before-credit" class="auto-update" type="text" placeholder="Google Earth" name="inlinelabel">
</div>
</div>
</div>
</div>
<div class="column-6" id="right-image">
<h6>Right Image</h6>
<div class="gif-content upload-box" style="display: none;">
<div id="image-upload-wrap-2" class="image-upload-wrap">
<input id="file-upload-input-2" class="file-upload-input" type="file" onchange="readURL(this, '2');" accept="image/*">
<div id="drag-text-2" class="drag-text">
<h3>drag and drop or click to upload an image</h3>
</div>
</div>
<div id="file-upload-content-2" class="file-upload-content">
<button id="remove-image-2" type="button" onclick="removeUpload('2')" class="button button-primary button-smallest remove-image">remove image</button>
<img id="file-upload-image-2" class="file-upload-image" src="#" alt="your image">
</div>
</div>
<div class="input-group-label interactive-content">
<label class="input-group-addon" for="inlinelabel">URL</label>
<input id="after-src" class="urlBox auto-update" type="text" value="https://juxtapose.knightlab.com/static/img/Sochi_22Nov2013.jpg" name="inlinelabel">
<a class="button button-light button-smallest dropbox-picker" data-image="after"><span class="icon-dropbox"></span></a>
</div>
<div class="input-group-label gif-content" style="display: none;">
<label class="input-group-addon" for="inlinelabel">URL</label>
<input id="gif-after-src" class="urlBox auto-update" onchange="gifAfterChange()" type="text" value="" name="inlinelabel">
<a class="button button-light button-smallest dropbox-picker" data-image="after"><span class="icon-dropbox"></span></a>
</div>
<div class="grid interactive-content">
<div class="grid-item">
<div class="input-group-label">
<label class="input-group-addon" for="inlinelabel">Label</label>
<input id="after-label" class="auto-update" type="text" placeholder="Apr. 2005" name="inlinelabel">
</div>
</div>
<div class="grid-item">
<div class="input-group-label">
<label class="input-group-addon" for="inlinelabel">Credit</label>
<input id="after-credit" class="auto-update" type="text" placeholder="Google Earth" name="inlinelabel">
</div>
</div>
</div>
</div>
<div class="column-12 interactive-content">
<h4>Options</h4>
<div class="input-group-label">
<label for="slider-start">Slider start position</label>
<input id="starting-position" type="number" size="2" placeholder="50" value="50" min="0" max="100" name="slider-start" step="1" style=" width: 70px;">
<div class="input-group-addon">%</div>
</div>
<div class="input-group-checkbox">
<label for="show-labels">
<input id="show-labels" class="auto-update" type="checkbox" value="true" checked="">
<div class="button">Show Labels</div>
</label>
<label for="show-credits">
<input id="show-credits" class="auto-update" type="checkbox" value="true" checked="">
<div class="button">Show Credits</div>
</label>
<label for="animate">
<input id="animate" class="auto-update" type="checkbox" value="true" checked="">
<div class="button">Animate</div>
</label>
<label for="make-responsive">
<input id="make-responsive" class="auto-update" type="checkbox" value="true" checked="">
<div class="button">Make Responsive</div>
</label>
<label for="vertical">
<input id="vertical" class="auto-update" type="checkbox" value="false">
<div class="button">Vertical</div>
</label>
</div>
</div>
<div id="preview-embed" class="container column-12">
<div class="container">
<h3>Preview</h3>
</div>
<div id="preview-container" class="container interactive-content" style="width: 100%;">
<div id="create-slider-preview" class="juxtapose" style="height: 540px; width: 960px;">
<div class="jx-slider">
<div class="jx-handle" style="left: 50%;">
<div class="jx-arrow jx-left"></div>
<div class="jx-control">
<div class="jx-controller" tabindex="0" role="slider" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div class="jx-arrow jx-right"></div>
</div>
<div class="jx-image jx-left" style="width: 50%;"><img src="https://juxtapose.knightlab.com/static/img/Sochi_11April2005.jpg" alt=""></div>
<div class="jx-image jx-right" style="width: 50%;"><img src="https://juxtapose.knightlab.com/static/img/Sochi_22Nov2013.jpg" alt=""></div>
<a href="https://juxtapose.knightlab.com" target="_blank" rel="noopener" class="jx-knightlab"><div class="knightlab-logo"></div><span class="juxtapose-name">JuxtaposeJS</span></a>
</div>
</div>
</div>
<div id="slider-preview-warning" class="grid interactive-content">
<div class="alert alert-danger warning column-12 note" role="alert"> <span class="icon icon-exclamation-sign" aria-hidden="true"></span> <span class="error-message">One or both of your photos is larger than your browser window. The preview
below has been resized to fit your screen, but your embedded Juxtapose will retain your original image dimensions.</span> </div>
</div>
<div id="preview-container" class="container gif-content" style="margin-top: 2.5%; width: 100%; display: none;">
<a id="generate-gif" onclick="generateGIF()" class="button button-complement">Generate GIF</a>
<a id="download-gif" class="button button-light" style="display: none;">Download</a>
<div class="loader" id="loader-spinner" style="display: none;"></div>
<div id="gif-container" style="background-color: #d7f1fc;"></div>
</div>
</div>
<div class="column-12 interactive-content">
<div class="container">
<a id="publish-slider" class="button button-complement button-large">Publish</a>
</div>
<div class="show-after-publish">
<h6>Share Link</h6>
<p class="small">To embed in a Medium blog post, copy the code in the box below and paste it on a line by itself where you want your juxtapose to appear.
(<a href="https://knightlab.northwestern.edu/2016/06/15/knight-lab-tools-now-embeddable-on-medium/" target="_blank">Learn more about oEmbed.</a>) If you update the settings, don't forget to click "Publish" again.</p>
<textarea id="oembed-url" rows="3" type="text" readonly="readonly" name="textplaceholder" value="" style="height:4rem;"></textarea>
<h6>Embed</h6>
<p class="small">Copy the code in the box below and paste it into your web page or CMS. If you update the settings, don't forget to click "Publish" again.</p>
<textarea id="embed-code" rows="3" readonly="readonly" type="text" name="textplaceholder" value="" style="height:5rem;"></textarea>
</div>
</div>
</div>
</form>
Text Content
* * Projects * Class * Device Lab * Posts * Community * About JUXTAPOSE JS EASY-TO-MAKE FRAME COMPARISONS. Make a Juxtapose * JUXTAPOSE JS * Overview * Examples * Make a Juxtapose * Help Juxtapose helps you tell a story comparing two images. It supports two different approaches; choose the one that works best for you: INTERACTIVE Apr. 2005 Nov. 2013 JuxtaposeJS An interactive juxtapose gives your audience control over the slider, and supports simple labels. You can embed it on a web page, or send someone a direct link. GIF A GIF juxtapose automatically animates the transition between your two images. It is ideal for embedding on social media, slideshows, and other documents. Juxtapose helps storytellers compare two pieces of similar media, including photos, and GIFs. It’s ideal for highlighting then/now stories that explain slow changes over time (growth of a city skyline, regrowth of a forest, etc.) or before/after stories that show the impact of single dramatic events (natural disasters, protests, wars, etc.). TIPS & TRICKS 1. Use images that are the same size. 2. Export your images to web quality to improve download time. 3. Align your images so that major elements are in alignment. EXAMPLES BERLIN — 1945 AND TODAY FLOYD MAYWEATHER PREPARES TO SEAL LEGACY NEW HALF-DOLLAR HOT MESS TO HAUTE COUTURE MEMORIAL DAY FLOODS IN TEXAS GUESS NBA STARS AND NICKNAMES CREATE A JUXTAPOSE Interactive (best for web pages) GIF (best for social media) IMAGES For GIF Juxtapose, you can upload images from your computer or from Dropbox, or provide direct URLs to images. Make sure your images are the same size, or at least the same aspect ratio. For interactive Juxtapose, you can load images from Dropbox, or provide direct URLs to images. We don't support uploads for interactive Juxtapose. LEFT IMAGE DRAG AND DROP OR CLICK TO UPLOAD AN IMAGE remove image URL URL Label Credit RIGHT IMAGE DRAG AND DROP OR CLICK TO UPLOAD AN IMAGE remove image URL URL Label Credit OPTIONS Slider start position % Show Labels Show Credits Animate Make Responsive Vertical PREVIEW JuxtaposeJS One or both of your photos is larger than your browser window. The preview below has been resized to fit your screen, but your embedded Juxtapose will retain your original image dimensions. Generate GIF Download Publish SHARE LINK To embed in a Medium blog post, copy the code in the box below and paste it on a line by itself where you want your juxtapose to appear. (Learn more about oEmbed.) If you update the settings, don't forget to click "Publish" again. EMBED Copy the code in the box below and paste it into your web page or CMS. If you update the settings, don't forget to click "Publish" again. HELP Need help? First, please be sure to look at our list of frequently asked questions below. If you don't find an answer there, try our support forums or use our tech support web form. Please be clear with your question and, if appropriate, include a link to a page which shows the issue with which you need help. We can only answer support questions in English. We try to be prompt, but please understand that we do not have a dedicated tech support staff. Find a bug? If you are confident you have found a bug, please report it as a GitHub issue. Be sure to include detailed instructions on how to reproduce the bug. If you're not sure, please start with the tech support system. FREQUENTLY ASKED QUESTIONS * DO I NEED TO KNOW CODE TO USE JUXTAPOSEJS? Absolutely not. JuxtaposeJS is friction-free. If you have the links to two images, you are ready to use JuxtaposeJS. * CAN I CUSTOMIZE WHAT JUXTAPOSEJS LOOKS LIKE? In it's simplest form, JuxtaposeJS is embedded using an <iframe> tag. In this form, there's no way to customize the appearance. If you are comfortable integrating markup and javascript into your own page, you can go beyond the <iframe>. JuxtaposeJS is designed with a minimalist style meant to work with most websites. If you want to customize the appearance, you can change most of how it looks with CSS rules. Read more on the Github Wiki. * DOES JUXTAPOSEJS WORK ON IPHONE, IPAD, AND OTHER IOS DEVICES? Yes, JuxtaposeJS works normally on iOS devices. * CAN I HELP BUILD NEW FEATURES FOR JUXTAPOSEJS? Absolutely. Fork the project and get involved. Send us feedback. Help us make JuxtaposeJS the tool you need and want it to be. * CAN I UPLOAD IMAGES TO JUXTAPOSE? CAN I USE [SOME SERVICE] TO HOST IMAGES? Juxtapose does not support uploading images. The URLs for the left and right image should be direct URLs to images, except if you are using Flickr to host images, in which case Juxtapose can transform the Flickr image page URL to the correct format. You can also use images stored on Dropbox.com by clicking on the button with the Dropbox logo. Services like Imgur and Photobucket generally prohibit 'hotlinking' to images they serve, which is what Juxtapose does, so those will not work, or will stop working after appearing to work. This page describes a method for using images stored on Google Drive, but this is not technically supported, and could stop working at any time. This page describes a method for using images stored on Box.com, but this, also, is not technically supported, and could stop working at any time. STORYTELLING TOOLS We build easy-to-use tools that can help you tell better stories. TIMELINE JS Easy-to-make, beautiful timelines. STORYMAP JS Maps that tell stories. JUXTAPOSE JS Easy-to-make frame comparisons. SOUNDCITE JS Seamless inline audio. View More * * * The Northwestern University Knight Lab is a team of technologists and journalists working at advancing news media innovation through exploration and experimentation. Knight Lab (847) 467-4971 1845 Sheridan Road Fisk #109 & #111 Evanston, IL 60208 Latitude: 42.056893 Longitude: -87.676735 Northwesten University Knight Lab | Advancing media innovation through exploration and experimentation. © Copyright 2024 Northwestern University