Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Bug-fix#798

Open
epsilon-greater-zero wants to merge 1 commit intojquery:main from
epsilon-greater-zero:patch-1
Open

Bug-fix #798
epsilon-greater-zero wants to merge 1 commit intojquery:main from
epsilon-greater-zero:patch-1

Conversation

@epsilon-greater-zero
Copy link

@epsilon-greater-zero epsilon-greater-zero commented Jan 29, 2021

There is an error in line 104. (And also in line 95, but this is less important.)
The selector $("p.hidden") would find paragraphs that have a class hidden. But this is not the intention. Rather, we want to find classes that are hidden as understood by jQuery. Thus the selector should be:
$("p.hidden")

The difference ist demonstrated by the code below, with two buttons using the different selectors.

<!doctype html>

<title>Demo</title> <style> a.test { font-weight: bold; } .box { border: solid; } .lookAtMe { background-color: aqua; }
	</style>
	<script src="jquery.js"></script>
</head>
<body>
	<p class="box">This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked.</p>
	<button id="TestButtonA">A: Show hidden paragraph and animate it.</button>
	<button id="TestButtonB">B: Show hidden paragraph and animate it.</button>
<script>
	// Clicking on the paragraph will hide it.
	$( "p" ).on( "click", function() {
		console.log( "click" );
		$(this).hide( 800 );
	});	
	$("#TestButton").on("click", function() {
		// Fade in all hidden paragraphs; then add a style class to them (correct with animation callback)
		$( "p.hidden" ).fadeIn( 750, function() {
			// this = DOM element which has just finished being animated
			$( this ).addClass( "lookAtMe" );
		});
	});
	$("#TestButtonB").on("click", function() {
		// Fade in all hidden paragraphs; then add a style class to them (correct with animation callback)
		$( "p:hidden" ).fadeIn( 750, function() {
			// this = DOM element which has just finished being animated
			$( this ).addClass( "lookAtMe" );
		});
	});
</script>
</body>

There is an error in line 104. (And also in line 95, but this is less important.)
The selector $("p.hidden") would find paragraphs that have a class hidden. But this is not the intention. Rather, we want to find classes that are hidden as understood by jQuery. Thus the selector should be:
$("p.hidden")
The difference ist demonstrated by the code below, with two buttons using the different selectors.
<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Demo</title>
		<style>
		a.test {
			font-weight: bold;
		}
		.box { border: solid; }
		.lookAtMe { background-color: aqua; }
		
		</style>
		<script src="jquery.js"></script>
	</head>
	<body>
		<p class="box">This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked. This paragraph will fade out when clicked.</p>
	
	
		<button id="TestButtonA">A: Show hidden paragraph and animate it.</button>
		<button id="TestButtonB">B: Show hidden paragraph and animate it.</button>
	<script>
		// Clicking on the paragraph will hide it.
		$( "p" ).on( "click", function() {
			console.log( "click" );
			$(this).hide( 800 );
		});	
		$("#TestButton").on("click", function() {
			// Fade in all hidden paragraphs; then add a style class to them (correct with animation callback)
			$( "p.hidden" ).fadeIn( 750, function() {
				// this = DOM element which has just finished being animated
				$( this ).addClass( "lookAtMe" );
			});
		});
		$("#TestButtonB").on("click", function() {
			// Fade in all hidden paragraphs; then add a style class to them (correct with animation callback)
			$( "p:hidden" ).fadeIn( 750, function() {
				// this = DOM element which has just finished being animated
				$( this ).addClass( "lookAtMe" );
			});
		});
	</script>
	</body>
</html>
Base automatically changed from master to main March 8, 2021 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /