Ściśle przy użyciu JavaScript, chciałbym ustawić następujący element DIV Right poza oknem, w prawo, tak że nie ma poziomego paska przewijania.

Jak mam to zrobic?

HTML:

<div id = "content">
    <header>
    <h2>Welcome!</h2>
    </header>
</div>

Myślałem coś takiego jak

$( "#content" ).offset({ left: 1345});

Ale że niestety wynika z paska przewijania, i nie jest reaguje, powodując, że Div znajduje się daleko poza prawą krawędzią okna, gdy w widoku mobilnym.

1
michael 12 sierpień 2014, 07:06

3 odpowiedzi

Najlepsza odpowiedź

Jeśli weźmiesz wartość window.innerWidth; i ustaw ją jako wartość położenia lewej pozycji spędza czas poza szerokością rzutni.

Musisz ustawić swój opakowanie lub korpus do overflow: hidden;, aby pozbyć się przewijania poziomego.

var hiddenDiv = document.getElementById('content');
var docWidth = window.innerWidth;

hiddenDiv.style.position = 'relative'; // Or absolute, depending on what you want
hiddenDiv.style.display = 'inline-block';
hiddenDiv.style.left = docWidth+'px';

http://jsfiddle.net/C62SQVDK/ <- JSFiddle dla przykładu wizualnego.

1
wigglyjoe 12 sierpień 2014, 03:41

Dlaczego to nie ukryć? Możesz łatwo zrobić to za pomocą JavaScript

var link = document.getElementById('content');
link.style.display = 'none'; 
link.style.visibility = 'hidden';

Zależy od tego, czego potrzebujesz.

Sprawdź również, sprawdź to https://daneden.github.io/animate.cs/

1
octohedron 12 sierpień 2014, 03:35

Próbować

document.body.style.overflow = "hidden";   
var content = document.getElementById("content");
content.style.position = "absolute";
content.style.left = window.innerWidth + "px";

Jquery

$(function() {
    $("body").css("overflow", "hidden")
    .find("#content").css({
        "position" : "absolute",
        "left" : window.innerWidth
    });
});

Jsfiddle http://jsfiddle.net/guest271314/9Zhy2xax/

0
guest271314 12 sierpień 2014, 03:46